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. Такие проверки безопасности недоступны на платформах, не поддерживающихos.getuid().Изменено в версии 3.4: Добавлена проверка разрешений POSIX.
Изменено в версии 3.7: Для определения расположения файла
.netrc, если аргумент file не передан, используетсяos.path.expanduser().Изменено в версии 3.10:
netrcсначала пробуют кодировку UTF-8, а затем кодировку, специфичную для локали. Запись в файле netrc больше не обязана содержать все токены. Для отсутствующих токенов по умолчанию используется пустая строка. Все токены и их значения теперь могут содержать любые символы, например пробелы и символы, не входящие в ASCII. Если имя для входа — anonymous, проверка безопасности не запускается.
-
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 -
Словарь, сопоставляющий имена макросов спискам строк.
© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/netrc.html