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

netrc.md

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

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