材质院项目之Python读取配置信息
材料院项目之Python读取配置信息
-------------------------------------------------------------------------------
时间:2014.03.16
地点:基地二楼
-------------------------------------------------------------------------------
一、应用背景
该项目中,要求软件一开机就获取比如样品名称,样品编号,测试人员等登陆信息,这些信息时默认的,但可以修改,专业的说就些都是配置信息,类似于ini文件的东西。更重要的是,在后面应用中我们还有一系列类似用户信息的东西要获取或修改。这样就设计配置信息的读取和修改问题。
-------------------------------------------------------------------------------
二、解决方案
1.配置 .conf文件
Python中有专门的ConfigParser库用于处理这个事,它能建立向 .conf文件读写的流,供获取和修改相关字段。.conf文件中分有不同的section供字段管理,每个section下提供用于自定义的字段,比如我们 [lodad]区用到的 SpamleName,SampleNumber,TesterName等。可将配置文件设置如下:
[load] SpamleName= Cfiber SampleNumber= 3167 TesterName = YunMengze
2.读写文件
很简单,引入ConfigParser库,创建一个ConfigParser对象即可。
读配置文件代码:
cf = ConfigParser.ConfigParser() cf.read("userinfor.conf") self.SampleNumber=cf.get('load','SampleNumber')修改配置文件代码:
cf.set("load", "SampleName", self.SampleName) cf.write(open("userinfor.conf", "w"))以上是我在项目中用到的两个小片段,不过作为扩充和学习,我们应该了解更多的应用,在学校做项目不是为了生计,而是为了学习,还是那句话,做完项目拿到钱就不了了之了,那么永远难以提高自己。通过项目科发现自己的不足,知道自己该学些什么,找到方向这是最重要的。
上面说道了,在我们的配置文件中会有许多setion,比如这里的 [load] ,当然我还用到了 [parameter] 等,我们可以如下获得该配置文件的所有字段:
s = cf.sections()另外读取信息时我们还可以按照类型来读取,比如我们想获得整型数据信息,可以如下:
self.SampleNum = cf.getint("load", "SampleNum") #返回的是整型数据信息