netrc
--- netrc 文件处理¶
源代码: Lib/netrc.py
netrc
类可以解析和封装 Unix ftp 程序和其他 FTP 客户端使用的 netrc 文件格式。
- class netrc.netrc([file])¶
netrc
实例或其子类的实例封装了来自 netrc 文件的数据。 如果存在初始化参数,则它指定要解析的文件。 如果没有给出参数,将读取用户主目录中的.netrc
文件 --- 具体路径由os.path.expanduser()
确定。 否则,将引发FileNotFoundError
异常。 解析错误将引发NetrcParseError
并附带诊断信息,包括文件名、行号和终结凭证。如果在 POSIX 系统上未指定任何参数,并且文件所有权或权限不安全(所有者不是运行该进程的用户,或者任何其他用户可读或可写),那么
.netrc
文件中存在的密码将引发NetrcParseError
。 这实现了与 ftp 和其他使用.netrc
的程序等效的安全行为。 此类安全检查在不支持os.getuid()
的平台上不可用。在 3.4 版本发生变更: 添加了 POSIX 权限检查。
在 3.7 版本发生变更: 当 file 未作为参数传入时,使用
os.path.expanduser()
来查找.netrc
文件的位置。在 3.10 版本发生变更:
netrc
会在尝试使用区域特定编码之前尝试 UTF-8 编码。 netrc 文件中的条目不再需要包含所有凭证。 缺失凭证的值默认为空字符串。 所有的凭证及其值现在都可以包含任意字符,如空白字符和非 ASCII 字符。 如果登录名为 anonymous,则不会触发安全检查。
- 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¶
将宏名称映射到字符串列表的字典。