Модуль ОС в Python обеспечивает доступ к системным функциям для работы с файловой системой, процессами, планировщиком и т. Д. Вам необходимо освоить систему Python OS для написания приложений, которые решают реальные проблемы. В этом руководстве обсуждаются некоторые основные концепции и показано, как использовать системную команду Python.

Особенности системы ОС Python

Система ОС служит переносимым способом взаимодействия с базовой операционной системой. Он предлагает доступ к именам файлов, аргументам командной строки, переменным среды, параметрам процесса и иерархии файловой системы наряду с другими функциями.

Этот модуль также содержит два субмодуля: модуль os.sys и модуль os.path. Вы можете использовать функции, предоставляемые модулем ОС, для выполнения широкого круга задач. Некоторое распространенное использование включает выполнение команд оболочки, управление файлами и каталогами, нерестовые процессы, так далее.

Начало работы с модулем ОС

Самый простой способ изучить модуль ОС - через интерпретатор. Вы можете импортировать модуль туда и использовать системные функции без написания исходного кода. Однако для этого у вас должен быть установлен Python. Так что продолжайте и установите Python на свой локальный компьютер.

Связанный: Как установить Python в Ubuntu

Запустите интерпретатор, набрав питон в вашем терминале или командной оболочке. Как только он откроется, импортируйте модуль ОС, используя следующую инструкцию.

>>> import os

Теперь вы можете получить доступ к функциям, предоставляемым модулем ОС, включая Python система команда. Например, вы можете определить платформу системы с помощью имя команда. В приведенном ниже примере показано, как вызывать системные команды, предоставляемые модулем ОС.

>>> os.name

Эта функция проверяет наличие определенных модулей ОС и определяет платформу на основе этого. Использовать безымянный функция для получения подробной информации.

>>> os.uname ()

Эта команда отображает точную системную платформу вместе с информацией об архитектуре компьютера, выпуске и версии. Использовать getcwd функция для получения текущего рабочего каталога.

>>> os.getcwd ()

Вы можете легко изменить рабочий каталог с помощью системной команды Python чдир. Передайте новое местоположение как строковый параметр.

>>> os.chdir ('/ tmp')

В mkdir Функция модуля ОС упрощает создание новых каталогов. Это также позволяет нам создавать рекурсивные папки, то есть Python создаст все отсутствующие каталоги, которые являются родительскими для конечного каталога.

>>> os.mkdir ('новый-каталог')

Использовать rmdir команда для удаления каталогов из вашего рабочего каталога.

>>> os.rmdir ('новый-каталог')

основы модуля python os

Примеры системной команды Python

Системная команда, предоставляемая модулем ОС, позволяет программистам выполнять команды оболочки. Обязательно укажите имя команды в виде строки. Как только вы вызовете питон система команда, он запустит данную команду в новой подоболочке.

>>> cmd = 'дата'
>>> os.system (cmd)

Вы можете запускать другие автономные приложения, используя этот же метод. В следующем примере выполняется редактор терминала нано из вашей оболочки Python.

>>> cmd = 'нано'
>>> os.system (cmd)

Система ОС Python также выводит код возврата для каждой выполняемой команды. Системы POSIX возвращают 0 при успешном выполнении и ненулевые значения для обозначения проблем.

Вы можете использовать систему ОС на Python для запуска всего, что захотите. Например, если вашей программе необходимо прочитать информацию о версии программы на пользовательском компьютере, вы можете сделать что-то вроде следующего.

>>> cmd = 'gcc --version'
>>> os.system (cmd)

В приведенном ниже примере выполняется простая команда оболочки, которая создает новый файл с именем users.txt и заполняет его всеми пользователями, вошедшими в систему. Многие программы Python делают это.

>>> os.system ('пользователи> тест')

Мы передаем имя команды в систему ОС в виде строки. Вы можете использовать все виды полезные команды терминала так же.

>>> os.system ('ping -c 3 google.com')

Вы также можете использовать подпроцесс вызывает выполнение системных команд из Python. Это дает несколько дополнительных преимуществ, включая более быстрое выполнение, лучшую обработку ошибок, синтаксический анализ вывода и конвейерные команды оболочки. Официальная документация Python также рекомендует вызов подпроцесса над более старыми модулями, такими как os.system и os.spawn.

>>> подпроцесс импорта
>>> subprocess.run (["ping", "- c 3", "example.com"])

Управление файлами и каталогами через модуль ОС

Мы показали, как создавать простые файлы и каталоги с помощью модуля ОС Python. Что делать, если вы хотите создать вложенные папки? Система ОС также позаботится об этом для нас, программистов. Например, приведенные ниже фрагменты создают папку $ HOME / тест / корень / api. Он также создаст необходимые родительские каталоги, если они недоступны.

>>> dirname = os.path.join (os.environ ['HOME'], 'test', 'root', 'api')
>>> print (имя каталога)
>>> os.makedirs (имя каталога)

Сначала мы получили домашний каталог, используя окружающая среда а затем присоединились к именам папок через os.path.join. Оператор печати отображает имя папки и македиры создает это.

Мы можем просмотреть новый каталог, используя listdir метод модуля ОС.

>>> os.chdir (os.path.join (os.environ ['HOME'], 'test', 'root', 'api'))
>>> os.system ('сенсорный файл1 файл2 файл3')
>>> os.listdir (os.environ ['ГЛАВНАЯ'])

Вы можете легко переименовать каталог api, используя переименовать команда, предлагаемая модулем ОС. Приведенный ниже оператор переименовывает этот каталог api в test-api.

>>> os.rename ('api', 'test-api')

Использовать isfile и Исдир функция ОС, если вашей программе необходимо проверить определенные файлы или каталоги.

>>> os.path.isfile ('файл1')
>>> os.path.isdir ('файл1')

Модуль ОС в Python также позволяет разработчикам извлекать имена файлов и папок вместе с расширениями файлов. Приведенные ниже фрагменты иллюстрируют использование os.path.split и os.path.splitext в этом отношении.

>>> dir = os.path.join (os.environ ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split (каталог)
>>> print (имя каталога)
>>> print (базовое имя)

Используйте приведенный ниже код для извлечения расширений, таких как .txt или .mp3, из имен файлов.

>>> имя файла, расширение = os.path.splitext (базовое имя)
>>> print (имя файла)
>>> печать (расширение)

Разное использование системы Python OS

Модуль ОС предлагает множество дополнительных функций для управления такими вещами, как пользовательские процессы и планировщик заданий. Например, вы можете быстро получить UID (идентификатор пользователя) текущего процесса, используя Getuid функция.

>>> os.getuid ()
>>> os.getgid ()

В Getgid функция возвращает идентификатор группы запущенного процесса. Использовать Getpid для получения PID (идентификатор процесса) и Getppid чтобы получить идентификатор родительского процесса.

>>> os.getpid ()
>>> os.getppid ()

Вы также можете использовать модуль ОС для изменения прав доступа к файлам и каталогам из вашей программы Python. Использовать chmod функция ОС для этого.

>>> os.chmod ('file1.txt', 0o444)

Эта команда изменяет разрешение file1.txt к 0444. Использовать 0o444 вместо 0444 чтобы убедиться, что оператор совместим с обеими основными версиями Python.

Используйте всю мощь системы Python OS

Модуль ОС Python предоставляет все необходимое для взаимодействия с базовой операционной системой. Для написания действительно кроссплатформенных программ необходимо четкое понимание системы ОС. Мы рассмотрели некоторые из основных функций, предоставляемых этим модулем, чтобы помочь вам начать работу. Попробуйте их в удобном для вас темпе и не забудьте повозиться с ними.

Электронное письмо
Как создавать и использовать кортежи в Python

Готовы вывести код Python на новый уровень? Пришло время понять, как создавать и использовать кортежи.

Похожие темы
  • Программирование
  • Python
Об авторе
Рубайат Хосейн (Опубликовано 8 статей)

Рубайат - выпускник компьютерных наук с сильной страстью к открытым исходным текстам. Помимо того, что он ветеран Unix, он также занимается сетевой безопасностью, криптографией и функциональным программированием. Он страстный коллекционер подержанных книг и безгранично восхищается классическим роком.

Ещё от Rubaiat Hossain

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.

.