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

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

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


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

class netrc.netrc([file])

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

Изменено в версии 3.4: Добавлена проверка прав POSIX.

exception netrc.NetrcParseError

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

14.3.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. Все знаки пунктуации ASCII разрешены в паролях, однако обратите внимание, что пробельные символы и непечатаемые символы в паролях не допускаются. Это ограничение способа разбора файла .netrc и может быть устранено в будущем.