netrc — netrc 文件处理 — Python 文档
来自菜鸟教程
Python/docs/3.9/library/netrc
netrc — netrc 文件处理
netrc类解析封装了Unixftp程序和其他FTP客户端使用的netrc文件格式。
- class netrc.netrc([file])
netrc 实例或子类实例封装来自 netrc 文件的数据。 初始化参数(如果存在)指定要解析的文件。 如果没有给出参数,将读取用户主目录中的文件
.netrc
——由 os.path.expanduser() 确定。 否则,将引发 FileNotFoundError 异常。 解析错误将引发 NetrcParseError 与诊断信息,包括文件名、行号和终止标记。 如果在 POSIX 系统上未指定任何参数,则.netrc
文件中存在的密码将引发 NetrcParseError 如果文件所有权或权限不安全(由用户以外的用户拥有)运行该进程,或者任何其他用户都可以读取或写入)。 这实现了与 ftp 和其他使用.netrc
的程序等效的安全行为。3.4 版本变化: 增加了 POSIX 权限检查。
3.7版本变更:os.path.expanduser()用于在file未通过时查找
.netrc
文件的位置作为论据。
- exception netrc.NetrcParseError
- netrc 类在源文本中遇到语法错误时引发的异常。 此异常的实例提供了三个有趣的属性:
msg
是错误的文本解释,filename
是源文件的名称,lineno
给出了其所在的行号发现错误。
netrc 对象
netrc 实例具有以下方法:
- netrc.authenticators(host)
- 返回 host 的三元组
(login, account, password)
验证器。 如果 netrc 文件不包含给定主机的条目,则返回与“默认”条目关联的元组。 如果匹配的主机和默认条目都不可用,则返回None
。
- netrc.__repr__()
- 将类数据转储为 netrc 文件格式的字符串。 (这会丢弃评论并可能对条目重新排序。)
netrc 的实例具有公共实例变量:
- netrc.hosts
- 将主机名映射到
(login, account, password)
元组的字典。 “默认”条目(如果有)表示为该名称的伪主机。
- netrc.macros
- 将宏名称映射到字符串列表的字典。
笔记
密码仅限于 ASCII 字符集的一个子集。 密码中允许使用所有 ASCII 标点符号,但请注意,密码中不允许使用空格和不可打印字符。 这是 .netrc 文件解析方式的限制,将来可能会被删除。