码迷,mamicode.com
首页 > 其他好文 > 详细

configparser模块

时间:2020-04-03 11:56:44      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:pre   参数   修改   读取文件   简介   markdown   添加   container   rem   

configparser模块简介

该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。节与java原先的配置文件相同的格式

看一下configparser生成的配置文件的格式

[DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
  
[bitbucket.org]
User = Atlan
  
[topsecret.server.com]
Port = 50022
ForwardX11 = no

现在看一下类似上方的配置文件是如何生成的

import configparser #引入模块

config = configparser.ConfigParser()    #类中一个方法 #实例化一个对象

config["DEFAULT"] = {ServerAliveInterval: 45,
                      Compression: yes,
                     CompressionLevel: 9,
                     ForwardX11:yes
                     }    #类似于操作字典的形式

config[bitbucket.org] = {User:Atlan} #类似于操作字典的形式

config[topsecret.server.com] = {Host Port:50022,ForwardX11:no}

with open(example.ini, w) as configfile:

   config.write(configfile)    #将对象写入文件
解释一下,操作方式

config["DEFAULT"] = {ServerAliveInterval: 45,
                      Compression: yes,
                     CompressionLevel: 9,
                     ForwardX11:yes
                     }    #类似于操作字典的形式
#config后面跟的是一个section的名字,section的段的内容的创建类似于创建字典。类似与字典当然还有别的操作方式啦!
config[bitbucket.org] = {User:Atlan}  #类似与最经典的字典操作方式

 

和字典的操作方式相比,configparser模块的操作方式,无非是在实例化的对象后面,跟一个section,在紧跟着设置section的属性(类似字典的形式)

读取文件内容

import configparser

config = configparser.ConfigParser()

#---------------------------查找文件内容,基于字典的形式

print(config.sections())        #  []

config.read(example.ini)

print(config.sections())        #   [‘bitbucket.org‘, ‘topsecret.server.com‘]

print(bytebong.com in config) # False
print(bitbucket.org in config) # True


print(config[bitbucket.org]["user"])  # Atlan

print(config[DEFAULT][Compression]) #yes

print(config[topsecret.server.com][ForwardX11])  #no


print(config[bitbucket.org])          #<Section: bitbucket.org>

for key in config[bitbucket.org]:     # 注意,有default会默认default的键
    print(key)

print(config.options(bitbucket.org))  # 同for循环,找到‘bitbucket.org‘下所有键

print(config.items(bitbucket.org))    #找到‘bitbucket.org‘下所有键值对

print(config.get(bitbucket.org,compression)) # yes       get方法Section下的key对应的value

 

修改文件内容

import configparser

config = configparser.ConfigParser()

config.read(example.ini)  #读文件

config.add_section(yuan)  #添加section

config.remove_section(bitbucket.org) #删除section
config.remove_option(topsecret.server.com,"forwardx11") #删除一个配置想

config.set(topsecret.server.com,k1,11111)
config.set(yuan,k2,22222)
with open(new2.ini,w) as f:
     config.write(f)

 

 
 

configparser模块

标签:pre   参数   修改   读取文件   简介   markdown   添加   container   rem   

原文地址:https://www.cnblogs.com/try-chi/p/12625451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!