Что такое модуль ОС Python и как его использовать?

Что такое модуль ОС Python и как его использовать?

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





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

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





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





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

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

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



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

как сделать загрузочную windows 7 usb
>>> import os

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





>>> os.name

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

>>> os.uname()

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





>>> os.getcwd()

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

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

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

>>> os.mkdir('new-dir')

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

>>> os.rmdir('new-dir')

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

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

>>> cmd = 'date'
>>> os.system(cmd)

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

>>> cmd = 'nano'
>>> os.system(cmd)

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

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

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

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

>>> os.system('users > test')

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

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

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

>>> import subprocess
>>> subprocess.run(['ping','-c 3', 'example.com'])

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

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

>>> dirname = os.path.join(os.environ['HOME'], 'test', 'root', 'api')
>>> print(dirname)
>>> os.makedirs(dirname)

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

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

>>> os.chdir(os.path.join(os.environ['HOME'], 'test', 'root', 'api'))
>>> os.system('touch file1 file2 file3')
>>> os.listdir(os.environ['HOME'])

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

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

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

>>> os.path.isfile('file1')
>>> os.path.isdir('file1')

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

>>> dir = os.path.join(os.environ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split(dir)
>>> print(dirname)
>>> print(basename)

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

>>> filename, extension = os.path.splitext(basename)
>>> print(filename)
>>> print(extension)

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

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

>>> 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
Об авторе Рубайат Хосейн(Опубликовано 39 статей)

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

Ещё от Rubaiat Hossain

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

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

Нажмите здесь, чтобы подписаться