源代码: Lib/netrc.py
netrc 类解析并封装了 Unix 的 ftp 程序和其他 FTP 客户端所使用的 netrc 文件格式。
class netrc.netrc([file])
netrc实例或子类实例封装来自netrc文件的数据。初始化参数(如果存在)指定要解析的文件。如果没有给出参数,将读取用户主目录中的.netrc文件。解析错误将引发带有诊断信息的NetrcParseError,这些诊断信息包括文件名、行号和终止令牌。POSIX系统如果没有指定参数,. netrc文件中密码的存在将提高NetrcParseError如果文件所有权或权限是不安全的(由用户以外的其他用户运行过程,或可以读或写的任何其他用户)。这实现了与ftp和其他使用.netrc的程序相同的安全行为。
在 3.4 版更改: 添加了 POSIX 权限检查。
exception netrc.NetrcParseError
当在源文本中遇到语法错误时由 netrc 类引发的异常。 此异常的实例提供了三个有用属性: msg 为错误的文本说明,filename 为源文件的名称,而 lineno 给出了错误所在的行号。
netrc 对象
netrc 实例具有下列方法:
netrc.authenticators(host)
针对 host 的身份验证者返回一个 3 元组 (login, account, password)。 如果 netrc 文件不包含针对给定主机的条目,则返回关联到 ‘default’ 条目的元组。 如果匹配的主机或默认条目均不可用,则返回 None。
netrc.__repr__()
将类数据以 netrc 文件的格式转储为一个字符串。 (这会丢弃注释并可能重排条目顺序。)
netrc 的实例具有一些公共实例变量:
netrc.hosts
将主机名映射到 (login, account, password) 元组的字典。 如果存在 ‘default’ 条目,则会表示为使用该名称的伪主机。
netrc.macros
将宏名称映射到字符串列表的字典。
注解
密码会被限制为 ASCII 字符集的一个子集。 所有 ASCII 标点符号均可用作密码,但是要注意空白符和非打印字符不允许用作密码。
这是 .netrc 文件解析方式带来的限制,在未来可能会被解除。
网友评论