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, прежде чем использовать кодировку, специфичную для локали.
-
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
¶ Словарь, отображающий имена макросов на списки строк.
Примечание
Пароли ограничены подмножеством набора символов ASCII. В паролях разрешена вся пунктуация ASCII, однако обратите внимание, что пробелы и непечатаемые символы в паролях запрещены. Это ограничение способа разбора файла .netrc, и в будущем оно может быть устранено.