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: Используется os.path.expanduser() для поиска расположения файла .netrc когда file не передаётся в качестве аргумента.

Изменено в версии 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’. Если не найдено ни соответствующего хоста, ни записи 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