Spec-Zone.ru › Python 3.9

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 используется os.path.expanduser(), когда file не передаётся как аргумент.

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

Словарь, сопоставляющий имена макросов спискам строк.

Примечание

Пароли ограничены подмножеством ASCII-символов. Все ASCII-знаки пунктуации разрешены в паролях, однако обратите внимание, что пробелы и непечатаемые символы не разрешены в паролях. Это ограничение связано с тем, как парсится файл .netrc, и может быть удалено в будущем.

© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/library/netrc.html

Spec-Zone.ru

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