Документация Python неофициальный перевод

netrc.md

50 строк · 5.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.3/library/netrc.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 14.3. [`netrc`](https://python-all.ru/3.3/library/netrc.html#module-netrc) – обработка файлов netrc89**Исходный код:** [Lib/netrc.py](https://python-all.ru/src/3.3/Lib/netrc.py)1011---1213Класс [`netrc`](https://python-all.ru/3.3/library/netrc.html#module-netrc) разбирает и инкапсулирует формат файлов netrc, используемый программой **ftp** в Unix и другими FTP-клиентами.1415#### `class netrc.netrc([file])`1617Экземпляр [`netrc`](https://python-all.ru/3.3/library/netrc.html#module-netrc) или его подкласс инкапсулирует данные из файла netrc. Аргумент инициализации, если указан, задаёт файл для разбора. Если аргумент не указан, будет прочитан файл `.netrc` в домашнем каталоге пользователя. Ошибки разбора вызовут [`NetrcParseError`](https://python-all.ru/3.3/library/netrc.html#netrc.NetrcParseError) с диагностической информацией, включающей имя файла, номер строки и завершающий токен. Если аргумент не указан в системе POSIX, наличие паролей в файле `.netrc` вызовет [`NetrcParseError`](https://python-all.ru/3.3/library/netrc.html#netrc.NetrcParseError), если права владения или доступа к файлу небезопасны (файл принадлежит не тому пользователю, от которого запущен процесс, или доступен для чтения или записи другим пользователям). Это реализует поведение безопасности, эквивалентное поведению ftp и других программ, использующих `.netrc`.1819Изменено в версии 3.3.3: Добавлена проверка прав POSIX.2021#### `exception netrc.NetrcParseError`2223Исключение, вызываемое классом [`netrc`](https://python-all.ru/3.3/library/netrc.html#module-netrc) при обнаружении синтаксических ошибок в исходном тексте. Экземпляры этого исключения предоставляют три полезных атрибута: `msg` – текстовое описание ошибки, `filename` – имя исходного файла, а `lineno` – номер строки, в которой была обнаружена ошибка.2425## 14.3.1. Объекты netrc2627Экземпляр [`netrc`](https://python-all.ru/3.3/library/netrc.html#module-netrc) имеет следующие методы:2829#### `netrc.authenticators(host)`3031Возвращает кортеж из трёх элементов `(login, account, password)` аутентификаторов для *host*. Если файл netrc не содержал записи для указанного хоста, возвращает кортеж, связанный с записью 'default'. Если нет ни подходящего хоста, ни записи по умолчанию, возвращает `None`.3233#### `netrc.__repr__()`3435Выгружает данные класса в виде строки в формате файла netrc. (При этом отбрасываются комментарии и может измениться порядок записей.)3637Экземпляры [`netrc`](https://python-all.ru/3.3/library/netrc.html#module-netrc) имеют открытые переменные экземпляра:3839#### `netrc.hosts`4041Словарь, отображающий имена хостов в кортежи `(login, account, password)`. Запись 'default', если она есть, представлена как псевдо-хост с этим именем.4243#### `netrc.macros`4445Словарь, сопоставляющий имена макросов со списками строк.4647> **Примечание**48>49> Пароли ограничены подмножеством символов ASCII. Все знаки пунктуации ASCII разрешены в паролях, однако обратите внимание, что пробельные символы и непечатаемые символы в паролях не допускаются. Это ограничение способа разбора файла .netrc и может быть устранено в будущем.50