Пакет distutils
Данный пакет предоставляет стандартный путь для распространения собственных Python–пакетов. Достаточно написать небольшой конфигурационный файл >setup.py
, использующий >distutils
, и файл с перечислением файлов проекта >MANIFEST.in
, чтобы пользователи пакета смогли его установить командой
>python setup.py install
Тонкости работы с >distutils
можно изучить по документации.
Взаимодействие с операционной системой
Различные операционные системы имеют свои особенности. Здесь рассматривается основной модуль этой категории, функции которого работают на многих операционных системах.
Модуль 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() , создающий все необходимые каталоги, если они не существуют. Возбуждает исключение, когда последний каталог уже существует. |