在代碼中經常會通過ini文件來配置一些常修改的配置。下面通過一個實例來看下如何寫入、讀取ini配置文件.
需要的配置文件是:
1 [path] 2 back_dir = /Users/abc/PycharmProjects/Pythoncoding/projects/ 3 target_dir = /Users/abc/PycharmProjects/Pythoncoding/ 4 5 [file] 6 back_file = apitest
下面是具體實現:
1 import os 2 import time 3 import configparser 4 # back_path = "/Users/abc/PycharmProjects/Pythoncoding/projects/" 5 # back_file ="hello.txt" 6 # 可以寫為讀取配置文件 7 # 第一步:創建conf對象 8 conf = configparser.ConfigParser() 9 # 第二步:添加section、options的值 10 conf.add_section("path") 11 conf.set("path","back_dir","/Users/abc/PycharmProjects/Pythoncoding/projects/") # option 12 conf.set("path","target_dir","/Users/abc/PycharmProjects/Pythoncoding/") # option 13 conf.add_section("file") 14 conf.set("file","back_file","apitest") 15 16 # 第三步:寫入文件 17 with open("path.ini",'w')as conffile: 18 conf.write(conffile) 19 20 # 第四步:讀取配置文件中的section、options的值 21 back_dir =conf.get('path','back_dir') 22 back_file =conf.get("file","back_file") 23 target_dir =conf.get("path","target_dir") 24 25 # 執行zip壓縮命令,將apitest目錄下所有文件打包壓縮 26 source =[back_dir,back_file] 27 target_file=target_dir+time.strftime("%Y%m%d%H%M%S")+'.zip' 28 zip_commond ="zip -qr \"%s\" \"%s\""%(target_file,''.join(source)) 29 print(zip_commond) 30 if os.system(zip_commond)==0: 31 print('Successful backup to',target_file) 32 else: 33 print('Backup Failed')
1 print(conf.sections()) 2 #['path', 'file'] 3 4 print(conf.options('path')) 5 #['back_dir', 'target_dir'] 6 7 print(conf.items('path')) 8 #[('back_dir', '/Users/abc/PycharmProjects/Pythoncoding/projects/'), ('target_dir', '/Users/abc/PycharmProjects/Pythoncoding/')]
筆記:
模塊常用函數:
1)讀取配置文件
read(filename) 直接讀取ini文件內容
sections() 得到所有的section,並以列表的形式返回
options(section) 得到該section的所有option
items(section) 得到該section的所有鍵值對
get(section,option) 得到section中option的值,返回為string類型
getint(section,option) 得到section中option的值,返回為int類型,還有相應的getboolean()和getfloat() 函數。
2)寫入配置文件
add_section(section) 添加一個新的section
set( section, option, value) 對section中的option進行設置,需要調用write將內容寫入配置文件。
