Поиск по сайту:

Модуль ОС 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