Модуль ОС Python
Модуль Python OS предоставляет простые функции, которые позволяют нам взаимодействовать и получать информацию об операционной системе и даже контролировать процессы до предела.
Модуль ОС Python
Функции, предоставляемые модулем ОС, позволяют нам работать с базовыми задачами операционной системы, независимо от того, является ли она платформой Windows, Macintosh или Linux. В этом уроке мы рассмотрим эти функции и то, что мы можем с ними сделать. Давайте начнем наше путешествие с этих функций и информации, которую они предлагают.
ОС импорта Python
os.name
Эта функция дает имя модуля ОС, который она импортирует. Это зависит от базовой операционной системы. В настоящее время он регистрирует «posix», «os2», «ce», «nt», «riscos» и «java». Давайте выполним это в системе:
>>> print(os.name)
posix
Понятно, что это может выводить разные платформы в зависимости от интерпретатора.
os.environ
environ
— это не функция, а параметр процесса, через который мы можем получить доступ к переменным среды системы. Давайте посмотрим пример фрагмента кода:
import os
output = os.environ['HOME']
print(output)
os.execvp
Функция execvp
— это один из способов запуска других команд в системе. Давайте посмотрим пример фрагмента кода для этой функции:
import os
program = "python"
arguments = ["hello.py"]
print(os.execvp(program, (program,) + tuple(arguments)))
Для этого мы создали пример скрипта hello.py
со следующим кодом:
print('Hello')
os.getuid
Эта функция модуля ОС возвращает идентификатор пользователя или UID текущего процесса, как это обычно называют.
>>> os.getuid()
501
Итак, текущий идентификатор процесса оболочки — 501.
os.rename
С помощью функции переименования python os мы можем легко переименовать файл.
import os
fileDir = "JournalDev.txt"
os.rename(fd,'JournalDev_Hi.txt')
Обратите внимание, что для этого мы должны предоставить правильные разрешения для нашего скрипта.
ОС.система
Системная функция Python os позволяет нам запускать команду в скрипте Python, как если бы я запускал ее в своей оболочке. Например:
import os
currentFiles = os.system("users > users.txt")
ОС.ошибка
Класс ошибок модуля ОС Python является базовым классом для ошибок, связанных с вводом-выводом. Таким образом, мы можем перехватывать ошибки ввода-вывода, используя OSError в предложении exclude.
import os
try:
f = open('abc.txt', 'r') # file is missing
except OSError:
print('Error')
os.getpid
Эта функция возвращает идентификатор текущего процесса или PID, как его обычно называют.
>>> os.getpid()
71622
Итак, идентификатор пользователя текущего процесса оболочки — 71622.
os.listdir
Эта функция просто перечисляет файлы и каталоги, присутствующие в текущем рабочем каталоге.
>>> import os
>>> os.listdir()
['.DS_Store', '.localized', 'JournalDev', 'Java', 'Python']
Он возвращает повторяемый список имен каталогов и файлов.
os.uname
Эта функция возвращает информацию, которая идентифицирует текущую операционную систему, в которой она выполняется.
>>> os.uname()
posix.uname_result(sysname='Darwin', nodename='Shubham.local', release='17.2.0', version='Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64', machine='x86_64')
Это было довольно подробно на самом деле.
импорт os.path против импорта os
os.path
на самом деле работает странно. Похоже, что os
упакован с подмодулем path
, но на самом деле os
— это обычный модуль, который работает с sys.module
для поддержки os.path
. Перечислим, что происходит за кулисами:
- При запуске Python загружает множество модулей в
sys.module
. Модуль os
также загружается при запуске Python. Он присваивает свойпуть
атрибуту модуляos
.- Он внедряет
sys.modules[os.path]=path
, чтобы вы моглиимпортировать os.path
, как если бы это был подмодуль.
Резюме
В этом уроке мы прочитали о различных функциях, предоставляемых модулем ОС в Python, и увидели, как они работают. См. дополнительные уроки в Python API Doc