【发布时间】:2019-01-19 04:58:27
【问题描述】:
我正在尝试使用具有单个项目或列表项目的关键字读取 .ini 文件。当我尝试打印单个项目字符串和浮点值时,它分别打印为h,e,l,l,o 和2, ., 1,而它应该只是hello 和2.1。另外,当我尝试编写新的单项字符串/浮点数/整数时,末尾有,。我是 python 新手,正在处理 configobj。任何帮助表示赞赏,如果这个问题之前已经回答过,请指导我。谢谢!
from configobj import ConfigObj
阅读
config = ConfigObj('para_file.ini')
para = config['Parameters']
print(", ".join(para['name']))
print(", ".join(para['type']))
print(", ".join(para['value']))
写
new_names = 'hello1'
para['name'] = [x.strip(' ') for x in new_names.split(",")]
new_types = '3.1'
para['type'] = [x.strip(' ') for x in new_types.split(",")]
new_values = '4'
para['value'] = [x.strip(' ') for x in new_values.split(",")]
config.write()
我的para_file.ini 看起来像这样,
[Parameters]
name = hello1
type = 2.1
value = 2
【问题讨论】:
-
我很困惑为什么您期望为您的任何参数获取多个值。在我看来,您只想为每个名称读取一个值,并且也只想写入一个值。在这种情况下,为什么不直接使用
print(para['name'])和para['name'] = new_names?是否存在您确实期望多个值的上下文? -
@Blckknght,感谢您的回复!是的,我正在尝试将参数输入到 GUI 中,并且用户配置参数可以有单个项目或列表项目。同时,用户可以修改参数并将其保存为单项/列表项。
标签: python python-3.x config ini configobj