我的文件如下所示
[SectionOne]
Status: Single
Name: Derek
Value: Yes
Age: 30
Single: True
在我阅读并修改了一个字段之后,定界符被更改为'=',而不是如下所示的':'
[SectionOne]
Status = Married
Name = Derek
Value = Yes
Age = 30
Single = True
我正在使用python 2.7,现在无法迁移到新版本的python。
代码在下面
Config = ConfigParser.ConfigParser()
Config.read("Bacpypes.ini")
cfgfile = open("Bacpypes.ini")
Config.set('SectionOne', 'Status', 'Married')
Config.write(cfgfile
cfgfile.close()
预先感谢
答案 0 :(得分:1)
尝试对ConfigParser
进行子类化以修改其行为,以便它写入:
而不是=
:
class MyConfigParser(ConfigParser.ConfigParser):
def write(self, fp):
"""Write an .ini-format representation of the configuration state."""
if self._defaults:
fp.write("[%s]\n" % DEFAULTSECT)
for (key, value) in self._defaults.items():
fp.write("%s = %s\n" % (key, str(value).replace('\n', '\n\t')))
fp.write("\n")
for section in self._sections:
fp.write("[%s]\n" % section)
for (key, value) in self._sections[section].items():
if key == "__name__":
continue
if (value is not None) or (self._optcre == self.OPTCRE):
key = ": ".join((key, str(value).replace('\n', '\n\t')))
fp.write("%s\n" % (key))
fp.write("\n")
然后使用MyConfigParser
:
config = MyConfigParser()
config.read("Bacpypes.ini")
...
此外,您的代码中还有两个错误:
您没有打开文件进行写入。
您的括号不平衡。
两者都应阻止代码运行。