首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

请问关于ConfigParser的有关问题

2013-09-11 
请教关于ConfigParser的问题最近在学习python,在看ConfigParser的过程中发现一个问题。我在一个python文件

请教关于ConfigParser的问题
   最近在学习python,在看ConfigParser的过程中发现一个问题。
   我在一个python文件中修改.ini文件的配置, 结果是正常的。
   当我一个文件中修改.ini配置文件,调用另外一个python文件中的方法来读.ini文件,读到的是之前没有修改的配置项,很奇怪。我尝试没修改一次就打开文件和关闭,现在读的是修改后的文件,但是配置文件变成空的了,请教高手指教,谢谢~~
   关键代码如下:
config_file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"db_config.ini")
print config_file_path
cf = ConfigParser.ConfigParser()  
cf.read(config_file_path)
        if self.taskName.GetValue()!="":
            config_file = open(config_file_path, "w")
            taskID= self.taskName.GetValue()
            cf.set(base_conf, "taskid", taskID)
            cf.write(config_file)
            config_file.close()
        if self.version.GetValue()!="":
            config_file = open(config_file_path, "w")
            version= self.version.GetValue()   
            cf.set(base_conf, "version", version)
            cf.write(config_file)
            config_file.close() 
     python ConfigParser
[解决办法]
没看出来,是不是在程序还没结束你打开文件看的?
[解决办法]

引用:
Quote: 引用:

io是需要时间的,例如硬盘写入缓存等等,不应按此思路设计
即使close()也不是瞬时完成的


   你好,谢谢的答复,我是修改完成后,再调用另外一个python进行读取,中间要等待多长时间?
   我要做的是,wxpython界面启动,读取配置文件,将配置文件里面的值自动写到界面对应的TextCtr,CheckBox等控件中,每条记录的控件类型一样,然后在界面上修改配置,点击确认按钮,将这写信息发送出去,同时时将修改保存在原配置文件中。


   请问有什么好的方法和建议?谢谢~~


我建议是直接传值,修改ini只是作为下次运行的环境参数
[解决办法]
先把所有的更改完成,再发送或存储。


for name, control in myControls.items(): # myControls记录着选项名及对应的控件
  if control.getValue() != "":
     cf.set(base_conf, name, control.getValue())
# save cf
with f = open(conf_file_path):
   ...

热点排行