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。测试配置文件中的键和值强>