使用commi时出现Python.netrc错误

2024-04-19 13:09:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下内容:

import netrc

machine = 'ftp.example.com'
auth = netrc.netrc().authenticators(machine)

我的.netrc文件中有以下一行:

^{pr2}$

我得到以下错误:

netrc.NetrcParseError: bad follower token 'comment"'

我可以删除注释,但是我需要在其他不能编辑.netrc文件的帐户上使用它,那么在这里该怎么办?在


Tags: 文件importcomtokenauthexample错误ftp
2条回答

你的台词不需要

machine ftp.example.com login user password pw

如果以“machine”开头的行,则在注释掉该行的其余部分之前,至少需要一个机器名,否则netrc无法解析该行。在

我相信这是在解析行时不把引号与其他非空白字符区别对待。所以这个:

machine "### comment"

获取转换为标记machine"###comment"。在那之后,它再也找不到代币了,它就吐出来了。在

不幸的是,由于有很多netrc解析器,而且它们可能都有不同的边缘情况处理方式,所以您甚至不能通过编写自己的解析器来解决这个问题,除非您可以让您喜欢的工具(curl、pip等)使用该解析器。在

除了注释之外,显然Python netrc模块将识别# machine ...(带空格),而不是{}(没有空格)作为注释行。后者会导致各种错误,如netrc.NetrcParseError: bad toplevel token '...',而{}等工具似乎对您隐藏了这些错误,假装文件中没有条目。在

相关问题 更多 >