用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" ...
随机推荐
- Mac 使用Sublime Text 3搭建java环境
运行效果 运行的时候会在桌面上生成一个 .class文件,可以通过配置文件将生成的.class文件删除. 参考: java环境配置:http://developer.51cto.com/art/201 ...
- mysql 插入/更新数据
mysql 插入/更新数据 INSERT 语句 1.一次性列出全部字段的值,例如: INSERT INTO student VALUES('Chenqi','M', 29); INSERT INTO ...
- OC-类方法
类方法 1. 基本概念 直接可以用类名来执行的方法(类本身会在内存中占据存储空间,里面有类\对象方法列表) 2. 类方法和对象方法对比 1) 对象方法 以减号-开头 只能让对象调用,没有对象,这个方 ...
- gradle 的sourceCompatibility 与 targetCompatibility 区别
sourceCompatibility:指定编译编译.java文件的jdk版本 targetCompatibility:确保class文件与targetCompatibility指定版本,或者更新的j ...
- 修改ubuntu DNS的步骤/wget url报错: unable to resolve host address的解决方法
wget url 报错:unable to resolve host address ‘url’,显然是无法解析主机地址,这就能看出是DNS解析的问题.解决办法就是配置可用的dns 一般是修改成为谷歌 ...
- mysql中获取一天、一周、一月时间数据的各种sql语句写法
今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学习的同时,分享给大家,并首先默认创建一个表.插入2条数据,便于部分数据的测试,其中 ...
- [MongoDB]增删改查
摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...
- CSS样式表继承详解
最近在恶补css样式表的基础知识.上次研究了css样式表之冲突问题详解 .这次是对 css 继承 特性的学习. 什么是css 继承?要想了解css样式表的继承,我们先从文档树(HTML DOM)开始. ...
- 【9-15】python学习笔记01
使用#开启行注释: 命令行:使用ctrl+d 退出
- 如何判断一个变量是否是utf-8
//判断传入的字符是否是utf-8 function is_utf8($word){ if (preg_match("/^([".chr(228)."-" ...