Python中configparser模块有哪些用法

  

Python中configparser模块有哪些用法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> configparser模块的常见用法

configparser模块用于生成与windows.ini文件类似格式的配置文件,可以包含一节或多节(部分),每个节可以有一个或多个参数(键=值)

在学习这个模块之前,先来看一个经常见到的配置文档:

(默认)   serveraliveinterval =45   compression =,是的   compressionlevel =9   forwardx11 =,是的   [bitbucket.org]   user =admin   [topsecret.server.com]   port =1000345   forwardx11 =,没有

<强> 1。创建配置文件

现在来用python中的configparser模块生成一个与上面相同的配置文档。

#先导入configparser模块   import  configparser   #为其中一个方法定义一个变量   cfp=configparser.ConfigParser ()   #定义“DEFAULT"节及其子参数   cfp [“DEFAULT"]={“ServerAliveInterval": 45,   ,,,,,,,,,,,,,,,“Compression":“yes"   ,,,,,,,,,,,,,,,“CompressionLevel": 9,   ,,,,,,,,,,,,,,,“ForwardX11":“yes"   ,,,,,,,,,,,,,,,}   #定义“bitbucket.org”节   cfp [“bitbucke.ort"]={“USER":“admin"}   #定义“topsecret.server.com"节及其参数   cfp [“topsecret.server.com"]={“Port": 1000345,“ForwardX11":“no"}   #把上面定义的节及其参数写入“cfp.ini"这个文件   with 开放(“cfp.ini",“w"), as  f:   ,,,cfp.write (f)

运行程序后,生成的配置文件如下:

(默认)   serveraliveinterval =45   compression =,是的   compressionlevel =9   forwardx11 =,是的   [bitbucket.org]   user =admin   [topsecret.server.com]   port =1000345   forwardx11 =,没有

可以看的到,跟文章开始处的配置文件格式一模一样的。

<强> 2。读取配置文件中的变量

目标配置文件就已经生成了,那现在想读取一个配置文件里的某个选项,该怎么做呢?

import  configparser   cfp=configparser.ConfigParser ()   #读取目标配置文件   cfp.read (“cfp.ini")   #打印目标配置文件的节   print (cfp.sections ())

理论上,读取配置文件的节,所得是一个列表,运行脚本,得到的字段为:

[& # 39;bitbucket.org& # 39;,, & # 39; topsecret.server.com& # 39;]

这是因为第一节是“默认”字段,这个字段是默认对整个配置文件生效的,

所以“DEFAULT"默认是不会显示出来。

如果把配置文件中的“默认”改成“违约”,如下:

(默认值)   serveraliveinterval =45   compression =,是的   compressionlevel =9   forwardx11 =,是的   [bitbucket.org]   user =admin   [topsecret.server.com]   port =1000345   forwardx11 =,没有

然后再用上面的代码来读取整个配置文件的节,结果如下:

[& # 39;违约# 39;,,& # 39;bitbucket.org& # 39;,, & # 39; topsecret.server.com& # 39;】   打印“bitbucket.ort”节下所有的键和值   import  configparser   cfp=configparser.ConfigParser ()   #读取目标配置文件   cfp.read (“cfp.ini")   打印(cfp.items (“bitbucket.org")

从返回结果可以看的到,把“DEFAULT"这个节下面的键和值也一起返回了,正如前面所说的,“默认”是默认全局生效的。

((& # 39;serveraliveinterval& # 39;,, & # 39; 45 & # 39;),,(& # 39;压缩# 39;,,& # 39;是的,),,(& # 39;compressionlevel& # 39;,, & # 39; 9 & # 39;),, (& # 39; forwardx11& # 39;,, & # 39;是的,),,(& # 39;用户# 39;,,& # 39;行政与# 39;)]

打bitbucket都印”。支持“节下所有的键。

import  configparser   cfp=configparser.ConfigParser ()   #读取目标配置文件   cfp.read (“cfp.ini")   打印(cfp.options (“bitbucket.org")

结果同上面一样,“DEFAULT"下面的键也被一起返回了。

[& # 39;用户# 39;,,& # 39;serveraliveinterval& # 39;,, & # 39;压缩# 39;,,& # 39;compressionlevel& # 39;,, & # 39; forwardx11& # 39;]

<强> 3。测试配置文件中的键和值

Python中configparser模块有哪些用法