python 配置文件


眾所周知,在我們開發過程當中應用配置文件對於我們來說覺得是一個方便的選擇。當我們遇到不需要經常修改且數據量較少的時候,選擇配置文件可以方便的應用於程序,而不必修改源碼。

那么我就來簡單介紹一下 python 常用配置文件的格式都有哪些。

ini 格式

我們先創建一個叫 db_config.ini 的文件,內容如下:

 1 db_config.ini  
 2 
 3 [baseconf]  
 4 host=127.0.0.1  
 5 port=3306  
 6 user=root  
 7 password=root  
 8 db_name=evaluting_sys  
 9 
10 [concurrent]  
11 processor=20 

函數方式讀、寫 ini 文件:

 1 import ConfigParser
 2 
 3 config = ConfigParser.ConfigParser()
 4 conf_file = open("db_config.ini")
 5 
 6 config.readfp(conf_file)
 7 
 8 print config.get("baseconf","port")
 9 
10 #-----------------------------------------------------------------------
11 
12 config.set("baseconf","port","11223")
13 
14 file_write = open("db_config.ini","w")
15
16 config.write(file_write)
17
18 file_write.close()

類讀、寫:

 1 class Config():
 2     def __init__(self, ini_file_path):
 3         """
 4         :param ini_file_path: ini 文件的路徑
 5         """
 6         self.config = ConfigParser.ConfigParser()  # 實例化
 7         self.config.readfp(ini_file_path)
 8 
 9     def get_section(self):
10         """
11         文件中 [baseconf] 這個就是節點,該方法是獲取文件中所有節點,並生成列表
12         :return: 返回內容-->> ['baseconf', 'concurrent']
13         """
14         sections = self.config.sections()
15         return sections
16 
17     def get_option(self, section_name):
18         """
19         文件中 host,port... 這個就是選項,該方法是獲取文件中某個節點中所有的選項,並生成列表
20         :param section_name: 節點名稱
21         :return: section_name="baseconf" 返回內容-->> ['host', 'port', 'user', 'password', 'db_name']
22         """
23         option = self.config.options(section_name)
24         return option
25 
26     def get_items(self, section_name):
27         """
28         該方法是獲取文件中某個節點中的所有選項及對應的值
29         :param section_name: 節點名稱
30         :return: section_name="baseconf" 返回內容-->> [('host', '127.0.0.1'), ('port', '11223')........]
31         """
32         option_items = self.config.items(section_name)
33         return option_items
34 
35     def get_value(self, section_name, option_name):
36         """
37         該方法是獲取文件中對應節點中對應選項的值
38         :param section_name: 節點名稱
39         :param option_name: 選項名稱
40         :return: section_name="baseconf",option_name='host' 返回內容-->> '127.0.0.1'
41         """
42         data_msg = self.config.get(section_name, option_name)
43         return data_msg
44 
45     def set_value(self, section_name, option_name, value):
46         """
47         設置相關的值
48         :param section_name: 節點名稱
49         :param option_name: 選項名稱
50         :param value: 選項對應的值
51         :return:
52         """
53         self.config.set(section_name, option_name, value)
54         # 舉例: config.set("baseconf", 'host', 192.168.1.1)
封裝類

json 格式:

我們先創建一個 db_config.json 文件

1 {
2   "save_path":"/test/",
3   "size":1073741824
4 }

讀、寫操作

 1 import json
 2 with open("/home/zms/PycharmProjects/any_test/update/save.conf") as r:
 3     # 讀取文件
 4     data = json.loads(r.read())
 5 print data["size"]
 6 
 7 data["size"] = 123
 8 with open("/home/zms/PycharmProjects/any_test/update/save.conf","w") as f:
 9     #  寫入文件
10     f.write(json.dumps(data))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM