今天学到一个新的Python模块:configparser,这个模块在Python中用来读取配置文件,一个文件中包含着多个节点,每个节点以下有各种属性和对应的属性值,可以理解成key:value键值对这种形式。Python的这一模块的使用能够非常有效的解决程序中出现的多个赋值变量的问题,把变量统一的放在一个文件中,这样程序也更容易修改~
在Python2.X的版本中,这个模块叫做Configparser,在Python3中修改成了configparser。这里我使用的是Python3的版本。
使用也就是导入这个模块,调用这个模块的功能,这样来实现相关的方法。
import configparser #导入模块config=configparser.ConfigParser() #建立模块对象,也就是赋予功能 配置文件在使用这些方法之前,首先根据需要我们先自己创建一个配置文件demo.txt,根据这个配置文件中的内容我们来实现相关方法。
demo.txt 的内容如下,我们这里把每一个[ ]称为一个 节点 ,在节点下有属于这个节点的 属性 和 属性值 。
#demo.txt[my name]name=feizaishesecond_name=xiaoguage=20height=180[address]id=100036loc=wuhu_or_hefei[favor]first=baskeballsecond=baseballthird=pingpang除了这种自己创建一个配置文件的方法,另外可以通过代码来创建自己的配置文件,这里就是直接使用configparser这一模块中的功能,通过下面的代码,我们就能在当前文件夹中创建一个自己的配置文件。
import configparserconfig=configparser.ConfigParser() 创建一个叫做DEFAULT的节点,包括demo1、demo2、demo3三个属性属性分别对应的值为45、yes、9 config["DEFAULT"]={'demo1': '45', 'demo2': 'yes', 'demo3': '9'}print(config.items()) 打印所有数据创建demo.txt文件,将上面的节点和节点包含的数据写进去with open('demo.txt', 'w') as configfile: config.write(configfile)
关于配置文件,txt格式只是一种,此外像conf、ini等格式的文件也是同样支持的。
常用方法 这里提供了configparser库常用到的方法,包括文件的读取、修改、删除等。 1、读取配置文件config.read("demo.txt")2、使用config.sections()方法获取所有节点的名称all_sections=config.sections()print("Sections:",all_sections)3、使用config.items()方法返回指定模块的详细信息item=config.items('my name')print(item)4、使用config.options()获得节点所有的key值key_value=config.options('my name')print(key_value)5、使用config.get()方法来获取指定节点的指定的值name=config.get('my name','name')print(name)6、使用config.getint()方法返回指定节点的指定的值(int类型)同理:>>> config.getboolean()返回布尔值结果 >>> config.getfloat()返回浮点型结果age=config.getint('my name','age')print(age,'The Type of age:',type(age))7、检查sections或者options是否存在 >>> config.has_sections() >>> config.has_options() has_section=config.has_section('my name')#检查有没有节点[my name]print(has_section) #如果有返回True值,没有返回Falsehas_option=config.has_option('my name','name')#检查在节点 [my name] 中有没有 name 这个属性print(has_option) #如果有返回True值,没有返回False8、向文件中添加节点 >>> config.add_section(value) //value:新节点的名称9、添加节点数据 >>> config.set(value1,value2,value3) value1:节点名称 value2:节点属性 value3:属性值config.add_section('The new Section') #添加新的节点config.set('The new Section','newname','XIAOGU') #通过config.set()方法向新的节点中添加新的 属性 与 属性值newname=config.items('The new Section','newname')print(newname)在上述的 config.set() 函数中, 1=>可以有添加新的值的功能; 2=>另外也可以修改已有的节点属性Change_name=config.set('my name','name','FEIZAISHE')print(config.get('my name','name'))10、删除节点config.remove_section('my name')print(config.sections())11、删除节点中的属性config.remove_option('address','id')print(config.items())微信公众号关注【肥仔社】了解更多有意思的东西。