配置文件解析模塊code
實例化對象對象
模擬生成samba配置文件,以字典形式存儲和讀取rem
# -*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config["global"] = { #配置信息 'workgroup':'SAMBA', 'security':'user', 'passdb backend':'tdbsam', 'printing':'cups', 'printcap name':'cups', 'load printers':'yes', 'cups options':'raw', } config["home"] = { #配置信息 'comment':'This is test !!!', 'browseable':'No', 'read only':'No', 'inherit acls':'Yes' } with open("smb.conf","w") as smb_config: #將配置信息寫入文件 config.write(smb_config)
生成的配置文件get
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [home] comment = This is test !!! browseable = No read only = No inherit acls = Yes
讀取配置文件實例it
# -*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 print(config.sections()) #讀取配置文件配置塊 print(config['home']['comment']) #讀取其中一個配置信息
['global', 'home'] #取出的配置文件塊 This is test !!! #取出的一個配置信息
讀取配置塊的參數io
# -*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 print(config.options("home")) #讀取配塊參數(字典中的鍵)
['comment', 'browseable', 'read only', 'inherit acls']
讀取配置塊的配置信息(包含參數和值)test
# -*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 print(config.items("home")) #讀取配置文件參數對(字典中的鍵和值)
[('comment', 'This is test !!!'), ('browseable', 'No'), ('read only', 'No'), ('inherit acls', 'Yes')]
讀取配置塊中的參數信息(參數的值)import
# -*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 print(config.get("home","comment")) #讀取配置的參數信息(字典中的值)
This is test !!!
增長配置信息配置
#-*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 config.add_section('test') #添加新的配置塊 config.set("test","obj","1") #新配置塊添加配置 config.write(open("smb.conf","w")) #追加寫入配置信息
新增後配置信息coding
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [home] comment = This is test !!! browseable = No read only = No inherit acls = Yes [test] obj = 1
刪除配置塊中配置信息
#-*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 config.remove_option("test","obj") #刪除配置塊配置信息 config.write(open("smb.conf","w")) #保存變動後的配置文件
刪除後配置文件信息
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [home] comment = This is test !!! browseable = No read only = No inherit acls = Yes [test]
刪除配置塊
#-*- coding:utf8 -*- import configparser config = configparser.ConfigParser() #實例化對象 config.read("smb.conf") #讀取配置文件 config.remove_section("home") #刪除配置塊(配置塊中信息清空) config.write(open("smb.conf","w")) #保存變動後的配置文件
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [test]