Содержание страницы
14.3. netrc – обработка файлов netrc¶netrc – 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. Объекты netrc¶netrc 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 и может быть устранено в будущем.