Fra*_*sco 5 python configparser
我认为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')
Run Code Online (Sandbox Code Playgroud)
set是的,对内存中的信息进行操作而不是对最初读取信息的文件进行操作是正常的。
write应该是你想要的。您到底是如何使用它的,它到底做了什么,以及它与您想要的有何不同?
顺便说一句,除非有特殊原因,否则通常应该使用ConfigParser.SafeConfigParser而不是使用。ConfigParser.ConfigParser
Python 3.xSafeConfigParser将被合并/重命名,因此ConfigParser最终SafeConfigParser将被弃用并逐步淘汰。