作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我尝试为我的脚本编写一个小的配置文件,它应该指定一个 IP 地址、一个端口和一个应该使用前两个变量通过插值创建的 URL。我的 config.ini
如下所示:
[Client]
recv_url : http://%(recv_host):%(recv_port)/rpm_list/api/
recv_host = 172.28.128.5
recv_port = 5000
column_list = Name,Version,Build_Date,Host,Release,Architecture,Install_Date,Group,Size,License,Signature,Source_RPM,Build_Host,Relocations,Packager,Vendor,URL,Summary
在我的脚本中,我按如下方式解析这个配置文件:
config = SafeConfigParser()
config.read('config.ini')
column_list = config.get('Client', 'column_list').split(',')
URL = config.get('Client', 'recv_url')
如果我运行我的脚本,结果会是:
Traceback (most recent call last):
File "server_side_agent.py", line 56, in <module>
URL = config.get('Client', 'recv_url')
File "/usr/lib64/python2.7/ConfigParser.py", line 623, in get
return self._interpolate(section, option, value, d)
File "/usr/lib64/python2.7/ConfigParser.py", line 691, in _interpolate
self._interpolate_some(option, L, rawval, section, vars, 1)
File "/usr/lib64/python2.7/ConfigParser.py", line 716, in _interpolate_some
"bad interpolation variable reference %r" % rest)
ConfigParser.InterpolationSyntaxError: bad interpolation variable reference '%(recv_host):%(recv_port)/rpm_list/api/'
我试过调试,结果又给我一行错误代码:
...
ConfigParser.InterpolationSyntaxError: bad interpolation variable reference '%(recv_host):%(recv_port)/rpm_list/api/'
Exception AttributeError: "'NoneType' object has no attribute 'path'" in <function _remove at 0x7fc4d32c46e0> ignored
我卡在这里了。我不知道这个 _remove 函数应该在哪里...我尝试搜索消息应该告诉我的内容,但坦率地说,我不知道。所以……
最佳答案
我的 config.ini 文件确实有错误。我没有将 %(...)s
末尾的 s
视为必要的语法元素。我想它指的是“字符串”,但我无法真正确认这一点。
关于python - 不明白这个 ConfigParser.InterpolationSyntaxError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44156665/
所以我尝试为我的脚本编写一个小的配置文件,它应该指定一个 IP 地址、一个端口和一个应该使用前两个变量通过插值创建的 URL。我的 config.ini 如下所示: [Client] recv_url
我是一名优秀的程序员,十分优秀!