netrc — обработка файлов netrc
Исходный код: Lib/netrc.py
Класс netrc разбирает и инкапсулирует формат файлов netrc, используемый программой ftp для Unix и другими FTP-клиентами.
-
class netrc.netrc([file]) -
Экземпляр
netrcили его подкласса инкапсулирует данные из файла netrc. Аргумент инициализации, если он указан, задаёт файл для разбора. Если аргумент не указан, будет прочитан файл.netrcв домашнем каталоге пользователя — определяемом с помощьюos.path.expanduser(). В противном случае будет вызвано исключениеFileNotFoundError. При ошибках разбора будет вызвано исключениеNetrcParseErrorс диагностической информацией, включая имя файла, номер строки и завершающий токен.Если в системе POSIX аргумент не указан, наличие паролей в файле
.netrcприведёт к вызову исключенияNetrcParseError, если права собственности или разрешения на файл небезопасны (файл принадлежит не тому пользователю, от имени которого запущен процесс, либо доступен для чтения или записи любому другому пользователю). Это обеспечивает поведение безопасности, эквивалентное поведению ftp и других программ, использующих.netrc. Такие проверки безопасности недоступны на платформах, не поддерживающихos.getuid().Изменено в версии 3.4: Добавлена проверка разрешений POSIX.
Изменено в версии 3.7: Для определения расположения файла
.netrc, если аргумент file не передан, используетсяos.path.expanduser().Изменено в версии 3.10:
netrcсначала пробует использовать кодировку UTF-8, прежде чем перейти к кодировке, зависящей от локали. Запись в файле netrc больше не обязана содержать все токены. Значения отсутствующих токенов по умолчанию являются пустыми строками. Теперь все токены и их значения могут содержать произвольные символы, например пробелы и символы, не входящие в ASCII. Если имя пользователя для входа — anonymous, проверка безопасности не выполняется.
-
exception netrc.NetrcParseError -
Исключение, вызываемое классом
netrcпри обнаружении синтаксических ошибок в исходном тексте. Экземпляры этого исключения предоставляют три полезных атрибута:-
msg -
Текстовое описание ошибки.
-
filename -
Имя исходного файла.
-
lineno -
Номер строки, в которой обнаружена ошибка.
-
Объекты netrc
Экземпляр netrc имеет следующие методы:
-
netrc.authenticators(host) -
Возвращает 3-кортеж
(login, account, password)средств аутентификации для host. Если файл netrc не содержит записи для указанного узла, возвращается кортеж, связанный с записью «default». Если нет ни совпадающего узла, ни записи по умолчанию, возвращаетсяNone.
-
netrc.__repr__() -
Выводит данные класса в виде строки в формате файла netrc. (При этом комментарии отбрасываются, а порядок записей может измениться.)
Экземпляры netrc имеют следующие общедоступные переменные экземпляра:
-
netrc.hosts -
Словарь, сопоставляющий имена узлов с кортежами
(login, account, password). Запись «default», если она есть, представлена как псевдоузел с таким именем.
-
netrc.macros -
Словарь, сопоставляющий имена макросов со списками строк.
© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/netrc.html