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