python配置文件的写入_Python 读取写入配置文件 —— ConfigParser

Python 读取写入配置文件 —— ConfigParser

Python 读取写入配置文件很方便,可使用内置的 configparser 模块;可查看源码,如博主本机地址: “C:/python27/lib/configparser.py”

Configuration file parser.

A setup file consists of sections, lead by a "[section]" header,

and followed by "name: value" entries, with continuations and such in

the style of RFC 822.

该模块支持读取类似如上格式的配置文件,如 windows 下的 .conf 及 .ini 文件等。

本章节使用如下的配置文件作为示例,可在 D 盘下新建 Pyhton_config 文件夹,创建两个文件 test.config  及 test.ini  内容及示例截图如下:

1 [db]2 db_port = 3306

3 db_user =root4 db_host = 127.0.0.1

5 db_pass =xgmtest6

7 [concurrent]8 processor = 20

9 thread = 10

本章节就基础读取及写入配置文件进行具体的说明。

基础读取配置文件

-read(filename)               直接读取文件内容

-sections()                  得到所有的section,并以列表的形式返回

-options(section)           得到该section的所有option

-items(section)              得到该section的所有键值对

-get(section,option)       得到section中option的值,返回为string类型

-getint(section,option)    得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。

1 #!/usr/bin/env python

2 #-*- coding:utf-8 -*-

3

4 importConfigParser5 importos6

7 os.chdir("D:\\Python_config")8

9 cf =ConfigParser.ConfigParser()10

11 #cf.read("test.ini")

12 cf.read("test.conf")13

14 #return all section

15 secs =cf.sections()16 print 'sections:', secs, type(secs)17 opts = cf.options("db")18 print 'options:', opts, type(opts)19 kvs = cf.items("db")20 print 'db:', kvs21

22 #read by type

23 db_host = cf.get("db", "db_host")24 db_port = cf.getint("db", "db_port")25 db_user = cf.get("db", "db_user")26 db_pass = cf.get("db", "db_pass")27

28 #read int

29 threads = cf.getint("concurrent", "thread")30 processors = cf.getint("concurrent", "processor")31 print "db_host:", db_host32 print "db_port:", db_port33 print "db_user:", db_user34 print "db_pass:", db_pass35 print "thread:", threads36 print "processor:", processors37

38 ConfigParser

示例代码详见上方,解析如下:

需要实例化为 ConfigParser 对象  cf = ConfigParser.ConfigParser() ;读取文件  cf.read("test.conf")

      secs = cf.sections()  获取sections,返回list   

       opts = cf.options("db")  获取db section下的 options,返回list  

 kvs = cf.items("db")  获取db section 下的所有键值对,返回list 如下,每个list元素为键值对元组

通常情况下,我们已知 section 及 option,需取出对应值,读取方式如下:

#read by type

db_host = cf.get("db", "db_host")

db_port = cf.getint("db", "db_port")

db_user = cf.get("db", "db_user")

db_pass = cf.get("db", "db_pass")

cf.get(...) 返回的会是 str 类型, getint 则返回int类型

基础写入配置文件

-write(fp)将config对象写入至某个 .init 格式的文件Write an .ini-format representation of the configuration state.

-add_section(section)添加一个新的section

-set( section, option, value                      对section中的option进行设置,需要调用write将内容写入配置文件

 ConfigParser2

-remove_section(section)删除某个 section

-remove_option(section, option)删除某个 section 下的 option

需要配合文件读写函数来写入文件,示例代码如下

importConfigParserimportos

os.chdir("D:\\Python_config")

cf=ConfigParser.ConfigParser()#add section / set option & key

cf.add_section("test")

cf.set("test", "count", 1)

cf.add_section("test1")

cf.set("test1", "name", "aaa")#write to file

with open("test2.ini","w+") as f:

cf.write(f)

ConfigParser2

写入的文件如:

修改类似写入,注意一定要 read 原文件!

importConfigParserimportos

os.chdir("D:\\Python_config")

cf=ConfigParser.ConfigParser()#modify cf, be sure to read!

cf.read("test2.ini")

cf.set("test", "count", 2) #set to modify

cf.remove_option("test1", "name")#write to file

with open("test2.ini","w+") as f:

cf.write(f)

ConfigParser3

上述代码执行后:

  [test] 下 count 的值为2; [test1] 下的 name 键值被删除,若需要删除整个 [test1] section,使用  cf.remove_section("test1")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值