Документация Python неофициальный перевод
Содержание страницы

13.4. netrc – обработка файлов netrcnetrc – netrc file processing

Новое в версии 1.5.2.

Исходный код: Lib/netrc.py


Класс netrc анализирует и инкапсулирует формат файлов netrc, используемый программой Unix ftp и другими FTP-клиентами.

class netrc.netrc([file])

Экземпляр netrc или экземпляр подкласса инкапсулирует данные из файла netrc файла. Аргумент инициализации, если указан, задаёт файл для разбора. Если аргумент не передан, считывается файл .netrc из домашнего каталога пользователя будет прочитан. Ошибки разбора вызывают NetrcParseError с диагностической информацией, включающей имя файла, номер строки и завершающий токен. Если на POSIX-системе аргумент не указан, наличие паролей в файле .netrc вызовет NetrcParseError, если владелец или права доступа к файлу небезопасны (файл принадлежит не тому пользователю, который запустил процесс, или доступен для чтения или записи любому другому пользователю). Это реализует поведение безопасности, эквивалентное ftp и другим программам, использующим .netrc.

Изменено в версии 2.7.6:Добавлена проверка прав доступа POSIX.

exception netrc.NetrcParseError

Исключение, вызываемое классом netrc при обнаружении синтаксических ошибок в исходном тексте. Экземпляры этого исключения предоставляют три атрибута: msg – текстовое описание ошибки, filename – имя исходного файла, а lineno – номер строки, в которой обнаружена ошибка.

13.4.1. Объекты netrcnetrc Objects

Экземпляр netrc имеет следующие методы:

netrc.authenticators(host)

Возвращает кортеж из трёх элементов (login, account, password) аутентификаторов для хоста. Если файл netrc не содержит записи для указанного хоста, возвращает кортеж, связанный с записью 'default'. Если нет ни подходящего хоста, ни записи по умолчанию, возвращает None.

netrc.__repr__()

Выгружает данные класса в виде строки в формате файла netrc. (При этом отбрасываются комментарии и может измениться порядок записей.)

Экземпляры netrc имеют открытые переменные экземпляра:

netrc.hosts

Словарь, сопоставляющий имена хостов с кортежами (login, account, password). Запись 'default', если присутствует, представлена как псевдохост с этим именем.

netrc.macros

Словарь, сопоставляющий имена макросов со списками строк.

Примечание

Пароли ограничены подмножеством набора символов ASCII. Версии этого модуля до 2.3 были крайне ограничены. Начиная с версии 2.3, все знаки пунктуации ASCII допускаются в паролях. Однако следует учитывать, что пробельные символы и непечатаемые символы в паролях не разрешены. Это ограничение способа разбора файла .netrc, которое может быть снято в будущем.