Spec-Zone.ru › Python 3.13

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. Такие проверки безопасности недоступны на платформах, не поддерживающих 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–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/netrc.html

Spec-Zone.ru

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