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().Изменено в версии 3.10:
netrcпытается использовать кодировку UTF-8, прежде чем использовать локальную кодировку.
-
exception netrc.NetrcParseError -
Исключение, поднимаемое классом
netrcпри обнаружении синтаксических ошибок в исходном тексте. Экземпляры этого исключения предоставляют три интересных атрибута:msg— текстовое объяснение ошибки,filename— имя исходного файла, аlineno— номер строки, в которой была обнаружена ошибка.
Объекты netrc
Экземпляр netrc имеет следующие методы:
-
netrc.authenticators(host) -
Возвращает тройку
(login, account, password)аутентификаторов для host. Если в файле netrc не было записи для данного хоста, возвращается кортеж, связанный с записью ‘default’. Если ни подходящий хост, ни запись по умолчанию недоступны, возвращаетсяNone.
-
netrc.__repr__() -
Выводит данные класса в виде строки в формате файла netrc. (Это отбрасывает комментарии и может изменить порядок записей.)
Экземпляры netrc имеют открытые переменные экземпляра:
-
netrc.hosts -
Словарь, сопоставляющий имена хостов с кортежами
(login, account, password). Запись ‘default’, если она есть, представлена псевдо-хостом с таким именем.
-
netrc.macros -
Словарь, сопоставляющий имена макросов спискам строк.
Примечание
Пароли ограничены подмножеством ASCII-символов. Все ASCII-знаки пунктуации разрешены в паролях, однако обратите внимание, что пробелы и непечатаемые символы не разрешены в паролях. Это ограничение связано с тем, как парсится файл .netrc, и может быть удалено в будущем.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/library/netrc.html