Spec-Zone.ru › Python 3.12

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: Добавлена проверка прав доступа 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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/netrc.html

Spec-Zone.ru

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