netrc — обработка файлов netrc

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


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

class netrc.netrc([file])

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

Изменено в версии 3.4: Added the POSIX permission check.

Изменено в версии 3.7: os.path.expanduser() - используемый, чтобы найти местоположение файла .netrc, когда file не передан как аргумент.

exception netrc.NetrcParseError

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

Объекты ntrc

У netrc сущности есть следующие методы:

netrc.authenticators(host)

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

netrc.__repr__()

Дамп данных класса как строка в формате файла ntrc. (Это отбрасывает комментарии и может изменить порядок записей.)

Сущности из netrc имеют публичные сущности переменные:

netrc.hosts

Словарное сопоставление имен узлов с кортежами (login, account, password). Запись «по умолчанию», если она имеется, представлена этим именем как псевдохост.

netrc.macros

Сопоставление имен макросов словаря со списками строка.

Примечание

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