Spec-Zone.ru › Python 3.8

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().

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.8/library/netrc.html

Spec-Zone.ru

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