1. 程式人生 > >python configparser

python configparser

__name__ ger DBName name == get imp end items


import configparser
##用於操作配置文件,格式與windows ini文件類似,可以包含一個或多個節(section),每個節可以有多個參數(鍵=值)

con = configparser.ConfigParser()
# 通過con對象的read功能 打開文件讀取文件,放進內存
con.read(‘config.log‘,encoding=‘utf-8‘)

# 1、config = ConfigParser.ConfigParser() 創建ConfigParser實例
#
# 2、config.sections()返回配置文件中節序列
#
# 3、config.options(section) 返回某個項目中的所有鍵的序列

#
# 4、config.get(section, option) 返回section節中,option的鍵值
#
# 5、config.add_section(str) 添加一個配置文件節點(str)
#
# 6、config.set(section, option, val) 設置section節點中,鍵名為option的值(val)
#
# 7、config.read(filename) 讀取配置文件
#
# 8、config.write(obj_file) 寫入配置文件
#
# res = con.sections()
# print(res)
#
# ret = con.options(‘kaishi‘)
# print(ret)

#####實例################################
def writeConfig(filename):
config = configparser.ConfigParser()

section_name = ‘db‘
config.add_section(section_name)
config.set(section_name,‘dbname‘,‘Mysql‘)
config.set(section_name,‘host‘,‘127.0.0.1‘)
config.set(section_name,‘port‘,‘80‘)
config.set(section_name,‘password‘,‘123456‘)

config.set(section_name,‘databasename‘,‘test‘)

section_name = ‘app‘
config.add_section(section_name)
config.set(section_name,‘loggerapp‘,‘192.168.20.2‘)
config.set(section_name,‘reportapp‘,‘192.168.20.3‘)

config.write(open(filename,‘w‘))

def updateconfig(filename,section,**keyv):
config = configparser.ConfigParser()
config.read(filename)
print(config.sections())
for section in config.sections():
items = config.items(section)
for item in items:
print(‘\t‘,item[0],‘=‘,item[1])
print(config.has_option("dbname","Mysql"))

for key in keyv:
print(‘\t‘,key,"=",keyv[key])
config.write(open(filename,‘r+‘))

if __name__ == ‘__main__‘:
writeConfig(‘config.log‘)
updateconfig(‘config.log‘,‘app‘,reportapp = "192.148.103.101")
print("end-----------------")
















python configparser