# configparser模塊 # 配置文件解析 import configparser # 1.創建配置文件 config = configparser.ConfigParser() # 相當於一個空字典 config['DEFAULT'] = { 'men':'1', 'disk':'2', 'nic':'3' } # 配置文件中新起一塊 config['STATICFILES_DIRS'] = {} # 添加 config['STATICFILES_DIRS']['root'] = 'static' # 配置文件再起一塊 config['TEMPLATEFILES'] = {} temp_obj = config['TEMPLATEFILES'] temp_obj['root'] = 'templates' # 寫入文件 with open('test.ini', 'w') as configfile: config.write(configfile) # 輸出的配置文件內容 [DEFAULT] men = 1 disk = 2 nic = 3 [STATICFILES_DIRS] root = static [TEMPLATEFILES] root = templates
# 2.配置文件的增刪改查 import configparser config = configparser.ConfigParser() # 讀取文件 config.read('test.ini') print(config.sections()) # [DEFAULT]含有特殊意義 # >> ['STATICFILES_DIRS', 'TEMPLATEFILES'] # 取值 print(config['TEMPLATEFILES']['root']) # >> templates # 判斷存在 print('TEMPLATEFILES' in config) # >> True # 遍歷值 for key in config['TEMPLATEFILES']: print(key) # >> root men disk nic # 將DEFAULT中的鍵也遍歷出來了,因為[DEFAULT]含有特殊意義; # 那么[DEFAULT]有什么用?存放通用,都需要的配置; # 取鍵 print(config.options('TEMPLATEFILES')) # >> ['root', 'men', 'disk', 'nic'] # 取鍵值對 print(config.items('TEMPLATEFILES')) # >> [('men', '1'), ('disk', '2'), ('nic', '3'), ('root', 'templates')] # 取對應塊下鍵的值 print(config.get('TEMPLATEFILES', 'root')) # >> print(config.get('TEMPLATEFILES', 'root')) 同樣可以獲取[DEFAULT]中鍵的值 # 刪,改,增 # config.write(open('test.ini','w')) # 1.增 # 添加塊 config.add_section('IMAGES') # 給塊添加鍵值 config.set('IMAGES', 'root', '1.png') # 保存/寫入 config.write(open('test.ini','w')) # 2.刪 # 刪除塊 config.remove_section('IMAGES') # 刪除對應塊下的鍵值對 config.remove_option('IMAGES', 'root')