netrc — netrc 文件处理 — Python 文档

来自菜鸟教程
Python/docs/3.9/library/netrc
跳转至:导航、​搜索

netrc — netrc 文件处理

源代码: :source:`Lib/netrc.py`



netrc类解析封装了Unixftp程序和其他FTP客户端使用的netrc文件格式。

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()用于在file未通过时查找.netrc文件的位置作为论据。

exception netrc.NetrcParseError
netrc 类在源文本中遇到语法错误时引发的异常。 此异常的实例提供了三个有趣的属性:msg 是错误的文本解释,filename 是源文件的名称,lineno 给出了其所在的行号发现错误。

netrc 对象

netrc 实例具有以下方法:

netrc.authenticators(host)
返回 host 的三元组 (login, account, password) 验证器。 如果 netrc 文件不包含给定主机的条目,则返回与“默认”条目关联的元组。 如果匹配的主机和默认条目都不可用,则返回 None
netrc.__repr__()
将类数据转储为 netrc 文件格式的字符串。 (这会丢弃评论并可能对条目重新排序。)

netrc 的实例具有公共实例变量:

netrc.hosts
将主机名映射到 (login, account, password) 元组的字典。 “默认”条目(如果有)表示为该名称的伪主机。
netrc.macros
将宏名称映射到字符串列表的字典。

笔记

密码仅限于 ASCII 字符集的一个子集。 密码中允许使用所有 ASCII 标点符号,但请注意,密码中不允许使用空格和不可打印字符。 这是 .netrc 文件解析方式的限制,将来可能会被删除。