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, и в будущем оно может быть устранено.