netrc
— netrc 文件处理¶
源代码: Lib/netrc.py
netrc
类解析并封装了 Unix ftp 程序和其他 FTP 客户端使用的 netrc 文件格式。
- 类 netrc.netrc([file])¶
netrc
实例或子类实例封装了 netrc 文件中的数据。初始化参数(如果存在)指定要解析的文件。如果没有给出参数,则会读取用户主目录(由os.path.expanduser()
确定)中的文件.netrc
。否则,将引发FileNotFoundError
异常。解析错误将引发NetrcParseError
,并提供诊断信息,包括文件名、行号和终止标记。如果在 POSIX 系统上没有指定参数,则如果文件所有权或权限不安全(由运行该进程的用户以外的用户拥有,或者任何其他用户可以读取或写入),则.netrc
文件中存在密码将引发NetrcParseError
。这实现了与 ftp 和其他使用.netrc
的程序相同的安全行为。版本 3.4 中的变化: 添加了 POSIX 权限检查。
版本 3.7 中的变化: 当未将 file 作为参数传递时,使用
os.path.expanduser()
查找.netrc
文件的位置。版本 3.10 中的变化:
netrc
在使用特定于语言环境的编码之前尝试 UTF-8 编码。netrc 文件中的条目不再需要包含所有标记。缺少的标记的值默认为空字符串。所有标记及其值现在都可以包含任意字符,例如空格和非 ASCII 字符。如果登录名为 anonymous,则不会触发安全检查。
- 异常 netrc.NetrcParseError¶
当源文本中遇到语法错误时,
netrc
类引发的异常。此异常的实例提供了三个有趣的属性- msg¶
错误的文本说明。
- filename¶
源文件名。
- lineno¶
发现错误的行号。
netrc 对象¶
netrc
实例具有以下方法
- netrc.authenticators(host)¶
返回 host 的身份验证器 3 元组
(login, account, password)
。如果 netrc 文件不包含给定主机的条目,则返回与“默认”条目关联的元组。如果匹配的主机和默认条目都不可用,则返回None
。
- netrc.__repr__()¶
以 netrc 文件的格式将类数据作为字符串转储。(这将丢弃注释并可能重新排序条目。)
netrc
的实例具有公共实例变量
- netrc.hosts¶
将主机名映射到
(login, account, password)
元组的字典。“默认”条目(如果有)由该名称表示为伪主机。
- netrc.macros¶
将宏名称映射到字符串列表的字典。