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