Spec-Zone.ru › Python 3.14

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API