一、配置文件類型
1、YAML
2、TOML
3、JOSN
4、XML
5、INI
---目前主流的配置文件為:YAML,INI--為傳統的配置文件
---配置文件:
一個配置文件由兩部分組成:注釋和內容
注釋:用來解釋必要內容,說明作用
內容:由鍵值對key-value的形式存儲
配置文件是用於配置計算機程序的參數和初始化設置的文件,如果沒有這些配置,程序可能無法執行
二、yaml配置文件
1、功能強大,簡潔,可表示多種數據類型,采用 .yaml格式。這是目前功能最強大的格式。
適用場景:多層級關系,數組,可定義常量(包括:整數,浮點數,字符串,NULL,日期,布爾,時間)
2、python有yaml配置的第三方庫,pyyaml,安裝命令:pip install pyyaml
3、yaml的基本語法
1)大小寫敏感
2)key后面的:與value之間需要空格
3)注釋#,與python一致
4)使用縮進表示層級關系
5)縮進時不允許使用tab鍵,只能使用空格
6)縮進的空格數無限制,同一層級的元素縮進相同即可
4、YAML 支持的數據結構有三種:
1、對象:鍵值對的集合,又稱為映射(mapping)/哈希(hashes)/字典(dictionary);
key: value
2、數組:一組按次序排列的值,又稱為序列(sequence)/列表(list);使用“-”區分序列/列表的一個元素
users:
-
username:"hee"
password:"1234"
-
username:"yyy"
password:"123"
此處:key為users的value是一個序列,每個元素是個字典,"users":[{"username":"hee","password":"1234"},{"username":"yyy","password":"123"}]
3、純量(scalars):單個的、不可再分的值。字符串、布爾值、整數、浮點數、Null、時間、日期等;
5、yaml配置文件的解析
1)先安裝第三方庫 pip install pyyaml
import yaml
with open("h_yaml.yaml",encoding="utf-8") as f:
data = yaml.load(f,Loader=yaml.SafeLoader) # Loader為安全加載,使用可去掉告警
print(data["users"][0]["username"]) # 輸出結果為 hee
解析后獲取內容使用字典列表獲取值的方法獲取
二、INI配置文件
1、INI配置文件是傳統的配置文件,由節、鍵、值組成。
節--section 分組
[section]
參數(鍵=值)option
option=value (value不能加引號)
注釋
注解使用分號表示";"。在分號后面的文字,直到該行結尾都全部為注解。
2、INI配置文件格式很簡單,最基本的三個要素是:parameters,sections和comments。都是字符串形式
1)parameters:INI配置文件最基本的元素就是parameters,每一個parameter都是由option和value組成,中間用等號=連接,”name=hello”name為option,hello為value
2)sections:所有的patameter都是以section為單位結合在一起的,[seciton]獨占一行,不可重名,在[seciton]后的參數都屬於這個section
3)comments:在INI文件中注釋語句是以分號“;”開始的。所有的所有的注釋語句不管多長都是獨占一行直到結束的。在分號和行結束符之間的所有內容都是被忽略的。
例:INI配置文件
;默認配置
[default]
host=http://example.com
port=7788
;數據庫
[db]
host=http://yyy.example.com
port=3306
3、INI配置文件的解析
1)導入Configparser
2)創建Configparser對象,調用read()方法
3)獲取配置文件數據
from configparser import ConfigParser
parser = ConfigParser()
parser.read("hee.ini" enconding="utf-8") # 此處不需要打開文件就可以read是因為ConfigParser的read方法封裝了open
print(parser.get("default","host"))
print(parser.get("db","host"))