Кстати, сам Python и его стандартная библиотека имеют тесты для каждого модуля — они находятся в каталоге testв месте, где развернуты файлы поставки Python, и являются частью пакета test.
Модуль pydoc
Успех проекта зависит не только от обеспечения эффективного и качественного кода, но и от качества документации. Утилита pydocаналогична команде manв Unix:
$ pydoc Sieve
Help on module Sieve:
NAME
Sieve — Модуль для вычисления простых чисел от 2 до N
FILE
Sieve.py
FUNCTIONS
primes(N)
Возвращает все простые от 2 до N
Эта страница помощи появилась благодаря тому, что были написаны строки документации — как ко всему модулю, так и к функции primes(N).
Стоит попробовать запустить pydocследующей командой:
pydoc –p 8088
И направить браузер на URL http://127.0.0.1:8088/ — можно получить документацию по модулям Python в виде красивого web–сайта.
Узнать другие возможности pydocможно, подав команду pydoc pydoc.
Пакет docutils
Этот пакет и набор утилит пока что не входит в стандартную поставку Python, однако о нем нужно знать тем, кто хочет быстро готовить документацию (руководства пользователя и т.п.) для своих модулей. Этот пакет использует специальный язык разметки ( ReStructuredText), из которого потом легко получается документация в виде HTML, LaTeX и в других форматах. Текст в формате RST легко читать и в исходном виде. С этим инструментом можно познакомиться на http://docutils.sourceforge.net
Пакет 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(), создающий все необходимые каталоги, если они не существуют. Возбуждает исключение, когда последний каталог уже существует. |
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):
Читать дальше
Конец ознакомительного отрывка
Купить книгу