我以为ConfigParser模块的set方法会更新给定的字段,但是,更改似乎只保留在内存中,不会进入配置文件。这是正常的行为吗?
我也尝试过write方法,但是我得到的是另一个复制的部分,到目前为止这不是我想要的。
这是一个代表我所做的事情的样本:
import sys
import ConfigParser
if __name__=='__main__':
cfg=ConfigParser.ConfigParser()
path='./../whatever.cfg/..'
c=cfg.read(path)
print cfg.get('fan','enabled')
cfg.set('fan','enabled','False')
c=cfg.read(path)
print cfg.get('fan','enabled')
是的,通常
set
对内存中的信息进行操作,而不是对最初从中读取信息的文件进行操作。write
应该是你想要的。你到底是怎么使用它的,它到底做了什么,和你想要的有什么不同?顺便说一下,除非有特殊原因,否则通常应该使用
ConfigParser.SafeConfigParser
,而不是ConfigParser.ConfigParser
。继续使用Python 3.x
SafeConfigParser
将被合并/重命名为ConfigParser
,因此SafeConfigParser
最终将被弃用并逐步淘汰。相关问题 更多 >
编程相关推荐