14.3. netrc - netrc文件处理

源代码: Lib / netrc.py

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

class netrc.netrc([file])

A netrc实例或子类实例封装了来自netrc文件的数据。初始化参数(如果存在)指定要解析的文件。如果没有给出参数,将读取用户主目录中的文件.netrc解析错误将引发具有包括文件名,行号和终止令牌的诊断信息的NetrcParseError如果在POSIX系统上没有指定参数,则如果文件所有权或权限不安全(由用户拥有),则.netrc文件中密码的存在将引发NetrcParseError除了运行该进程的用户,或可由任何其他用户读或写的访问)。这实现了等同于ftp和使用.netrc的其他程序的安全行为。

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

exception netrc.NetrcParseError

Exception raised by the netrc class when syntactical errors are encountered in source text. 这个异常的实例提供了三个有趣的属性:msg是错误的文本解释,filename是源文件的名称,lineno给出发现错误的行号。

14.3.1. netrc对象

A netrc实例具有以下方法:

netrc.authenticators(host)

主机返回3元组(登录, 帐户, 密码) >。如果netrc文件不包含给定主机的条目,则返回与“default”条目关联的元组。如果匹配主机或默认条目都不可用,则返回None

netrc.__repr__()

将类数据转储为netrc文件格式的字符串。(这会丢弃注释,并可能重新排序条目。)

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

netrc.hosts

将主机名映射到(登录, 帐户, 密码)元组。“默认”条目(如果有)通过该名称表示为伪主机。

netrc.macros

将宏名称映射到字符串列表的字典。

注意

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