Python常用配置檔案ini、json、yaml讀寫總結
開發專案時,為了維護一些經常需要變更的資料,比如資料庫的連線資訊、請求的url、測試資料等,需要將這些資料寫入配置檔案,將資料和程式碼分離,只需要修改配置檔案的引數,就可以快速完成環境的切換或者測試資料的更新,常用的配置檔案格式有ini、json、yaml等,下面簡單給大家介紹下,Python如何讀寫這幾種格式的檔案。
ini格式
ini 即 Initialize ,是Windows中常用的配置檔案格式,結構比較簡單,主要由節(Section)、鍵(key)和值(value)組成。每個獨立部分稱之為section,每個section內,都是key(option)=value形成的鍵值對。
在Python3中,使用自帶的 configparser 庫(配置檔案解析器)來解析類似於ini這種格式的檔案,比如config、conf。
ini讀取刪除操作
import configparser
#使用前,需要建立一個例項
config = configparser.ConfigParser()
# 讀取並開啟檔案
config.read('test2.ini',encoding='utf-8')
# 獲取sections
print(config.sections())
#['db', 'data']
# 獲取某section下的所有options
print(config.options('db'))
#['user', 'pwd', 'host', 'database', 'port']
# 獲取某section下指定options
print(config.get('db', 'user'))
# root
# 獲取section中所有的鍵值對
print(config.items('data'))
# [('admin_user', 'tong'), ('admin_pwd', '123456')]
#刪除整個section
config.remove_section('db')
#刪除section下的某個k
config.remove_option('db','host')
ini寫入操作
import configparser
config = configparser.ConfigParser()
config["url"] = {'url':"www.baidu.com"} #類似於操作字典的形式
with open('example.ini', 'w') as configfile:
config.write(configfile) #將物件寫入檔案
json格式
JSON (JavaScript Object Notation) 是一種輕量級的資料交換格式,採用完全獨立於語言的文字格式,這些特性使json成為理想的資料交換語言,易於閱讀和編寫,同時易於機器解析和生成。關於json的使用,之前寫過一篇Python處理json總結,大家可以看下。
json格式示例:
{
"name":"smith",
"age":30,
"sex":"男"
}
Python中使用內建模組 json 操作json資料,使用json.load()和json.dump方法進行json格式檔案讀寫:
# 讀取json
import json
with open('test1.json') as f:
a = json.load(f)
print(a)
# 寫入json
import json
dic ={
"name" : "xiaoming",
"age" : 20,
"phonenumber" : "15555555555"
}
with open("test2.json", "w") as outfile:
json.dump(dic, outfile)
yaml格式
yaml全稱Yet Another Markup Language(另一種標記語言),它是一種簡潔的非標記語言,以資料為中心,使用空白,縮排,分行組織資料,解析成本很低,是非常流行的配置檔案語言。
yaml的語法特點:
-
大小寫敏感
-
使用縮排表示層級關係,縮排的空格數目不重要,只要相同層級的元素左側對齊即可
-
縮排時不允許使用Tab鍵,只允許使用空格。
-
字串不需要使用引號標註,但若字串包含有特殊字元則需用引號標註
-
註釋標識為#
-
以 - 開頭的行表示構成一個陣列
yaml格式示例
case1:
info:
title: "正常登陸"
url: http://192.168.1.1/user/login
method: "POST"
json:
username: "admin"
password: "123456"
expected:
status_code: 200
content: "user_id"
yaml支援的資料結構有三種:
-
物件:鍵值對的集合,又稱為對映(mapping)/ 雜湊(hashes) / 字典(dictionary)
-
陣列:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
-
純量(scalars):單個的、不可再分的值。字串、布林值、整數、浮點數、Null、時間、日期
Python中使用 pyyaml 處理yaml格式資料
使用前,需要進行安裝
pip install pyyaml
yaml檔案讀取
用python讀取yaml檔案,先用open方法讀取檔案資料,再通過load方法轉成字典。
import yaml with open("testyaml.yaml", encoding='utf-8') as file: data = yaml.safe_load(file) print(data) print(data['case1']['json']) print(data['case1']['json']['username'])
import yaml #定義一個字典 content = { 'id': 1, 'text': 'programming languages', 'members': ['java', 'python', 'python', 'c', 'go', 'shell'] } with open('test3.yaml', 'w', encoding='utf-8') as file: yaml.dump(content, file, default_flow_style=False, encoding='utf-8', allow_unicode=True)
寫入的資料帶中文,會出現亂碼,需要設定allow_unicode=True。
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯絡我們以作處理
想要獲取更多Python學習資料可以加QQ:2955637827私聊或加Q群630390733大家一起來學習討論吧!
相關文章
- java 讀寫 ini 配置檔案Java
- linux/windows 讀寫ini配置檔案LinuxWindows
- C#中讀寫INI配置檔案C#
- 使用IniEditor讀寫INI型別配置檔案型別
- Yaml檔案語法及讀寫小結YAML
- python讀取yaml配置檔案的方法PythonYAML
- 透過python讀取ini配置檔案Python
- c#讀寫ini檔案C#
- VB讀寫ini檔案 (轉)
- go 讀取.ini配置檔案Go
- VB.NET 讀寫ini檔案
- 使用C#讀寫ini檔案C#
- Python讀取修改ini配置檔案[ConfigParser]Python
- C#讀取ini配置檔案C#
- python pyyaml操作yaml配置檔案PythonYAML
- C#關於讀寫INI檔案C#
- C# winform中讀寫ini檔案C#ORM
- python ini 配置檔案處理Python
- C#讀寫檔案總結C#
- C++檔案讀寫總結C++
- python檔案操作-讀寫刪除複製總結Python
- Python之ini配置檔案詳解Python
- 讀寫INI檔案的四個函式 (轉)函式
- Python讀寫EXCEL檔案常用方法大全PythonExcel
- Linux下用C讀取INI配置檔案Linux
- java解析yaml配置檔案JavaYAML
- python3_訪問url、json、讀寫檔案PythonJSON
- python config配置檔案的讀寫Python
- NPM酷庫047:ini,解析INI配置檔案NPM
- mysql--my.ini配置檔案配置MySql
- Python讀取YAML配置資料PythonYAML
- deployment.yaml 檔案解讀YAML
- 「Python」:檔案讀寫Python
- Python——檔案讀寫Python
- Python 讀寫檔案Python
- Python讀寫檔案Python
- winform c#寫ini檔案ORMC#
- C#讀取Json配置檔案C#JSON