首页 > 代码库 > day6 ConfigParser模块 yaml模块
day6 ConfigParser模块 yaml模块
yaml模块:
python可以处理yaml文件,yaml文件安装的方法为:$ pip3 install pyyaml
configparser模块,用来处理文件的模块,可以实现文件的增删改查
configparser用于处理特定格式的文件,其本质上是利用open来操作文件
下面来看看configarser模块的功能:
[DEFAULT] serveraliveinterval = 45 compression = yes compressionlevel = 9 forwardx11 = yes [bitbucket.org] user = hg [topsecret.server.com] host port = 50022 forwardx11 = no
上面代码格式就是configparser的常见格式,这中文件格式在有些地方很常见。
import configparser config = configparser.ConfigParser() config["DEFAULT"] = {"ServerAliveInterval":"45", "compression":"yes", "CompressionLevel":"9"} config["bitbucket.org"] = {} config["bitbucket.org"]["user"] = "hg" config["topsecret.server.com"] = {} #定义一个空的字典 topsecret = config["topsecret.server.com"] #把空的字典赋值给topsecret,生成一个空字典 topsecret["Host Port"] = "50022" #给字典添加键值对 topsecret["Forwardx11"] = "no" config["DEFAULT"]["Forwardx11"] = "yes" with open("config_file.ini","w") as configfile: config.write(configfile)
运行如下:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes
[bitbucket.org]
user = hg
[topsecret.server.com]
host port = 50022
forwardx11 = no
从上面代码可以看出,其文件的格式类似于字典的形式,包含keys和values类型,我们首先要定义一个configparser的文件,然后往文件中添加键值对。如上面代码所示:
上面我们把字典写进文件之后,如何读取呢?下面来看看configparser.ConfigParser的文件操作:
读取:
>>> import configparser
>>> config = configparser.ConfigParser() #定义一个文件信息
>>> config.sections()
[]
>>> config.read(
‘example.ini‘
)
[
‘example.ini‘
]
>>> config.sections()
[‘bitbucket.org‘, ‘topsecret.server.com‘]
下面来看看configparser模块中文件的增删改查:
import configparser config = configparser.ConfigParser() config.read("config_file.ini") #删除文件中的字段 sec = config.remove_section("bitbucket.org") config.write(open("config_file.ini","w")) #添加新的字段到文件中 # sec = config.has_section("alex") # config.add_section("alex") # config["alex"]["age"] = "21" # config.write(open("config_file.ini","w")) #修改字段中的文件信息 config.set("alex","age","28") config.write(open("config_file.ini","w"))
上面代码的字段中,我们实现了增删改查的功能。要了解文件中的功能即可。并且能够操作,其实很多时候都对文件操作的思路都是相同的,只是实现的方式不一样,代码的写法不一样而已。
day6 ConfigParser模块 yaml模块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。