Модуль os
Разделители каталогов и другие связанные с этим обозначения доступны в виде констант.
os.curdir | Текущий каталог |
os.pardir | Родительский каталог |
os.sep | Разделитель элементов пути |
os.altsep | Другой разделитель элементов пути |
os.pathsep | Разделитель путей в списке путей |
os.defpath | Список путей по умолчанию |
os.linesep | Признак окончания строки |
Программа на Python работает в операционной системе в виде отдельного процесса. Функции модуля os дают доступ к различным значениям, относящимся к процессу и к среде, в которой он исполняется. Одним из важных объектов, доступных из модуля os, является словарь переменных окружения environ. Например, с помощью переменных окружения web-сервер передает некоторые параметры в CGI-сценарий. В следующем примере можно получить переменную окружения PATH:
import os PATH = os.environ['PATH']
Большая группа функций посвящена работе с файлами и каталогами. Ниже приводятся только те, которые доступны как в Unix, так и в Windows.
access(path, flags) | Проверка доступности файла или каталога с именем path. Режим запрашиваемого доступа указывается значением flags, составленных комбинацией (побитовым ИЛИ) флагов os.F_OK (файл существует), os.R_OK (из файла можно читать), os.W_OK (в файл можно писать) и os.X_OK (файл можно исполнять, каталог можно просматривать). |
chdir(path) | Делает path текущим рабочим каталогом. |
getcwd() | Текущий рабочий каталог. |
chmod(path, mode) | Устанавливает режим доступа к path в значение mode. Режим доступа можно получить, скомбинировав флаги (см. ниже). Следует заметить, что chmod() не дополняет действующий режим, а устанавливает его заново. |
listdir(dir) | Возвращает список файлов в каталоге dir. В список не входят специальные значения "." и "..". |
mkdir(path[, mode]) | Создает каталог path. По умолчанию режим mode равен 0777, то есть: S_IRWXU|S_IRWXG|S_IRWXO, если пользоваться константами модуля stat. |
makedirs(path[, mode]) | Аналог mkdir(), создающий все необходимые каталоги, если они не существуют. Возбуждает исключение, когда последний каталог уже существует. |
remove(path), unlink(path) | Удаляет файл path. Для удаления каталогов используются rmdir() и removedirs(). |
rmdir(path) | Удаляет пустой каталог path. |
removedirs(path) | Удаляет path до первого непустого каталога. В случае если самый последний вложенный подкаталог в указанном пути - не пустой, возбуждается исключение OSError. |
rename(src, dst) | Переименовывает файл или каталог src в dst. |
renames(src, dst) | Аналог rename(), создающий все необходимые каталоги для пути dst и удаляющий пустые каталоги пути src. |
stat(path) | Возвращает информацию о path в виде не менее чем десятиэлементного кортежа. Для доступа к элементам кортежа можно использовать константы из модуля stat, например stat.ST_MTIME (время последней модификации файла). |
utime(path, times) | Устанавливает значения времен последней модификации (mtime) и доступа к файлу (atime). Если times равен None, в качестве времен берется текущее время. В других случаях times рассматривается как двухэлементный кортеж (atime, mtime). Для получения atime и mtime некоторого файла можно использовать stat() совместно с константами модуля stat. |
Для работы с процессами модуль os предлагает следующие функции (здесь упомянуты только некоторые, доступные как в Unix, так и в Windows):
abort() | Вызывает для текущего процесса сигнал SIGABRT. |
system(cmd) | Выполняет командную строку cmd в отдельной оболочке, аналогично вызову system библиотеки языка C. Возвращаемое значение зависит от используемой платформы. |
times() | Возвращает кортеж из пяти элементов, содержащий время в секундах работы процесса, ОС (по обслуживанию процесса), дочерних процессов, ОС для дочерних процессов, а также время от фиксированного момента в прошлом (например, от момента запуска системы). |
getloadavg() | Возвращает кортеж из трех значений, соответствующих занятости процессора за последние 1, 5 и 15 минут. |