Содержание страницы
netrc – обработка файлов netrc¶netrc – netrc file processing
Исходный код: 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:
os.path.expanduser()используется для поиска расположения файла.netrc, когда file не передан в качестве аргумента.Изменено в версии 3.10:
netrcпробует кодировку UTF-8 перед использованием кодировки, зависящей от локали. Запись в файле netrc больше не обязана содержать все токены. Значение отсутствующих токенов по умолчанию равно пустой строке. Все токены и их значения теперь могут содержать произвольные символы, такие как пробельные и не-ASCII символы. Если имя входа – anonymous, проверка безопасности не выполняется.
- exception netrc.NetrcParseError¶
Исключение, возбуждаемое классом
netrcпри обнаружении синтаксических ошибок в исходном тексте. Экземпляры этого исключения содержат три следующих атрибута:- msg¶
Текстовое описание ошибки.
- filename¶
Имя исходного файла.
- lineno¶
Номер строки, в которой обнаружена ошибка.
Объекты netrc¶netrc Objects
Экземпляр netrc имеет следующие методы:
- netrc.authenticators(host)¶
Возвращает кортеж из трёх элементов
(login, account, password)аутентификаторов для хоста. Если файл netrc не содержит записи для указанного хоста, возвращает кортеж, связанный с записью 'default'. Если нет ни подходящего хоста, ни записи по умолчанию, возвращаетNone.
- netrc.__repr__()¶
Выгружает данные класса в виде строки в формате файла netrc. (При этом отбрасываются комментарии и может измениться порядок записей.)
Экземпляры netrc имеют открытые переменные экземпляра:
- netrc.hosts¶
Словарь, сопоставляющий имена хостов с кортежами
(login, account, password). Запись 'default', если присутствует, представлена как псевдохост с этим именем.
- netrc.macros¶
Словарь, сопоставляющий имена макросов со списками строк.