1. 程式人生 > >轉 python3 讀取 ini配置檔案

轉 python3 讀取 ini配置檔案

在程式碼中經常會通過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

 

import os
import time
import configparser
# back_path = "/Users/abc/PycharmProjects/Pythoncoding/projects/"
# back_file ="hello.txt"
# 可以寫為讀取配置檔案
# 第一步:建立conf物件
conf = configparser.ConfigParser()
# 第二步:新增section、options的值
conf.add_section("path")
conf.set("path","back_dir","/Users/abc/PycharmProjects/Pythoncoding/projects/") # option
conf.set("path","target_dir","/Users/abc/PycharmProjects/Pythoncoding/") # option
conf.add_section("file")
conf.set("file","back_file","apitest")

# 第三步:寫入檔案
with open("path.ini",'w')as conffile:
conf.write(conffile)

# 第四步:讀取配置檔案中的section、options的值
back_dir =conf.get('path','back_dir')
back_file =conf.get("file","back_file")
target_dir =conf.get("path","target_dir")

# 執行zip壓縮命令,將apitest目錄下所有檔案打包壓縮
source =[back_dir,back_file]
target_file=target_dir+time.strftime("%Y%m%d%H%M%S")+'.zip'
zip_commond ="zip -qr \"%s\" \"%s\""%(target_file,''.join(source))
print(zip_commond)
if os.system(zip_commond)==0:
print('Successful backup to',target_file)
else:
print('Backup Failed')

 

 

 

print(conf.sections())
#['path', 'file']

print(conf.options('path'))
#['back_dir', 'target_dir']

print(conf.items('path'))
#[('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將內容寫入配置檔案。