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

class netrc.netrcfile 
一个netrc实例或子类的实例从NETRC文件封装数据。初始化参数(如果存在)指定要解析的文件。如果没有给出参数,则将读取.netrc用户主目录中的文件(由…确定)os.path.expanduser()。否则,FileNotFoundError将引发异常。解析错误将NetrcParseError随诊断信息而增加,包括文件名,行号和终止令牌。如果在POSIX系统上没有指定参数,如果文件所有权或权限不安全,则.netrc文件中存在密码将引发NetrcParseError(由运行该进程的用户以外的用户拥有,或者可由任何其他用户读取或写入用户)。这实现了与ftp和其他使用的程序相当的安全行为.netrc

版本3.4中已更改:添加了POSIX权限检查。

版本3.7中更改:os.path.expanduser()用于.netrc文件未作为参数传递时查找文件的位置 。

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

netrc对象

一个netrc实例有以下方法:

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

的实例netrc有公开的实例变量:

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

注意

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