我正在使用Python的ConfigParser(Python 3.4)阅读配置文件。我的值都是整数,例如
key1 = 11
key2 = 22
当我编写配置文件后,将其读入Config对象后,使用
with open('settings.ini', 'w') as configfile:
Config.write(configfile)
我的文件最终看起来像这样:
key1 = ['11']
key2 = ['22']
为什么文件是这样写的,而不是原来的那样?
key1 = 11
key2 = 22
答案 0 :(得分:0)
因为您传递的是列表而不是列表的值?
您应该通过以下方式设置值:
config.set('section1', 'key1', key_val_variable)
您可以尝试打印' key_val_variable'
请尝试:
import ConfigParser
config = ConfigParser.ConfigParser()
config.read("settings.ini")
key_var = ['key1']
if not config.has_section('section1'):
config.add_section('section1')
config.set('section1', 'key1', key_var)
config.set('section1', 'key2', key_var[0])
with open("settings.ini", 'wb') as configfile:
config.write(configfile)
答案 1 :(得分:0)
我发现了我的问题。在我的800多个选项的长列表中,我有一些重复的键,这破坏了ini文件的解析。当我删除重复的密钥时,所有密钥都按预期工作。