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

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

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


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

class netrc.netrc([file])

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

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

exception netrc.NetrcParseError

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

14.3.1. Объекты netrcnetrc Objects

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

netrc.authenticators(host)

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

netrc.__repr__()

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

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

netrc.hosts

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

netrc.macros

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

Примечание

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