Язык программирования Python (Сузи) - страница 28

Пакет 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(), создающий все необходимые каталоги, если они не существуют. Возбуждает исключение, когда последний каталог уже существует.