用ConfigParser模块读写配置文件——Python
对于功能较多、考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置?
1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑的问题。
2)用配置文件,通过在程序中读配置文件获取配置,用户改变配置后重新写入配置文件,即使程序崩溃或者关闭,配置依然能够保存下来。
3)用数据库来存储配置变量,也能长久保存,不过读写数据库也是重量级操作,不太方便。
最近在写一个基于wxPython的GUI程序,需要用到配置文件,本来打算用xml文件来存储,网上看了一圈,读写xml也挺麻烦,加上该程序规模较小,不用太复杂的配置,考虑用简单的读写文件就行,在《Python基础教程第二版》当中看到有ConfigParser模块,挺简单。就拿来用了。
使用ConfigParser模块,配置文件可以随便取名,唯一需要注意的是,配置文件的内容有格式要求:
一个配置文件分为几个section,每个section的名字要用中括号括起来,中括号下面的变量和变量值以等号隔开。
假设有一个配置文件叫做Config.txt,那么Config.txt的内容格式应该像下面这样:
[numbers]
pi=3.1516926
maxfilesize=128*1024*1024
[msg]
error=sorry,an error occured.
tipmsg=your input is invalid,please check and submit again.
如何用ConfigParser读写配置文件?
加载配置文件:objConfigParser.read(filepath)
读取配置变量:objConfigParser.get(section,variblename)或者objConfigParser.getInt(section,variblename),如果知道该变量是int型的话
写入(添加)配置变量到缓存:objConfigParser.set(section,variblename,newValue),
添加新的section:objConfigParser.add_section(sectionName)
写入文件,使修改生效:objConfigParser.write(open(filepath,'w'))
示例程序:
def testConfig():
CONFIGFILE='../metaData/config.txt'
config=ConfigParser()
config.read(CONFIGFILE)#加载配置文件
print config.getfloat('numbers', 'pi')#读取section为numbers的pi变量
config.set('numbers', 'pi', 3.14)#修改pi变量
#create a new section
config.add_section('a_new_section') #添加新的section
config.write(open(CONFIGFILE, "w"))#写入文件
用ConfigParser模块读写配置文件——Python的更多相关文章
- Python自动化测试 -ConfigParser模块读写配置文件
C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...
- python:实例化configparser模块读写配置文件
之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用. 实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高 ...
- python:利用configparser模块读写配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Python自动化测试 (二) ConfigParser模块读写配置文件
ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section, section 下有op ...
- configparser模块读写ini配置文件
在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...
- Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件
前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser.configPars ...
- $用ConfigParser模块读写conf配置文件
ConfigParser是Python内置的一个读取配置文件的模块,用它来读取和修改配置文件非常方便,本文介绍一下它的基本用法. 数据准备 假设当前目录下有一个名为sys.conf的配置文件,其内容如 ...
- 熟悉使用ConfigParser库读写配置文件
Python的配置文件 配置文件 setting.ini文件是一个纯文本 [DataBase1] username = admin passwors = root [DataBase2] hostna ...
- configparser模块(ini配置文件生成模块)
config = configparser.ConfigParser() #初始化config对象 [DEFAULT] #设置默认的变量值,初始化 config["DEFAULT" ...
随机推荐
- 使用 Object.create 创建对象,super 关键字,class 关键字
ECMAScript 5 中引入了一个新方法:Object.create().可以调用这个方法来创建一个新对象.新对象的原型就是调用 create 方法时传入的第一个参数: var a = {a: 1 ...
- Nginx配置优化的几个参数
worker_processes 8 一般CPU(i/o)密集型配置为核数相同,网络(i/o)密集型配置为核数倍数(我配置为2倍) worker_cpu_affinity(这个没用过) 仅适用于lin ...
- jQuery -- is() 方法
定义和用法: 根据选择器.DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true.如果没有元素符合,或者表达式无效,都返回'false'. ''' ...
- array_map()与array_shift()搭配使用 PK array_column()函数
array_map()与arra_shift()搭配使用,还是来看例子吧,比较直观一点 <?php $user = array( 0 => array( 'name' => '张三' ...
- python字符类型的一些方法
python 字符串和字节互转换.bytes(s, encoding = "utf8") str(b, encoding = "utf-8") i.isspac ...
- 基于php使用memcache存储session的详解(转)
web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,不过前提你需要 ...
- [css]通过transform缩放邮件客户端h5页面
摘要 最近一直在折腾邮件通知的东东,大概逻辑就是如果有新邮件,向收件人的app推送一条服务号消息,并且在单击该消息的时候,需要展示邮件的详情. 技术 这里是使用Exchange EWS API来实现的 ...
- hdu4976 A simple greedy problem. (贪心+DP)
http://acm.hdu.edu.cn/showproblem.php?pid=4976 2014 Multi-University Training Contest 10 1006 A simp ...
- POJ 2486 Apple Tree
好抽象的树形DP......... Apple Tree Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6411 Accepte ...
- nginx命令
window cmd 到nginx的文件夹 start nginx 启动命令 nginx -s reload 重新启动 nginx -s stop 关闭 linux 到 sbin ...