Python基礎 47 yaml使用

2021-09-25 05:16:27 字數 3135 閱讀 5449

基礎的配置資料我們可以用.ini檔案、.json檔案等來存放,當然yaml也是可以的,並且使用起來更方便,本篇講解yaml使用

python中操作yaml檔案的庫為pyyaml模組

pip install pyyaml 直接安裝(如下圖,安裝完成)

1)大小寫敏感

2)使用縮排表示層級關係

3)縮排時不允許使用tab,只允許使用空格,空格數目不重要,只要相同層級的元素左對齊即可

4)# 表示注釋

5)預設對映為乙個字典格式,加上「-」表示對映為乙個列表

6)yaml基本型別包括字串、整型、浮點型、布林型、null、時間、日期

test_dict_data.yaml

# test_dict_data.yaml 存放使用者資訊,列印出來後會是乙個字典

id : 001

name : suner001

pwd : suner123

age : 20

addr : jiangsu

read_yaml.py

# coding:utf-8

# read_yaml.py 讀取yaml檔案中的資料並列印結果

import yaml

import os

cur_path = os.path.dirname(os.path.realpath(__file__)) # 返回當前檔案的上層目錄

yaml_path = os.path.join(cur_path,"test_dict_data.yaml") # 拼接yaml檔案所在路徑

with open(yaml_path,encoding="utf-8") as yaml_file:

yaml_result = yaml.load(yaml_file)

print(yaml_result)

執行時,雖然列印了但是有警告資訊,提示缺少載入器

完整**

# coding:utf-8

# read_yaml.py 讀取yaml檔案中的資料並列印結果

import yaml

import os

cur_path = os.path.dirname(os.path.realpath(__file__)) # 返回當前檔案的上層目錄

yaml_path = os.path.join(cur_path,"test_dict_data.yaml") # 拼接yaml檔案所在路徑

with open(yaml_path,encoding="utf-8") as yaml_file:

yaml_result = yaml.load(yaml_file,loader=yaml.fullloader)

print(yaml_result) # 執行結果:

test_list_data.yaml

# test_list_data.yaml 存放多個使用者資訊,列印結果為乙個列表,裡面包含三條字典格式的資料

- id : 001

name : suner001

pwd : suner123

age : 20

addr : jiangsu

- id : 002

name : suner002

pwd : suner123

age : 21

addr : shanghai

- id : 003

name : suner003

pwd : suner123

age : 22

addr : beijing

read_yaml.py

# coding:utf-8

# read_yaml.py 讀取yaml檔案中的資料並列印結果

import yaml

import os

cur_path = os.path.dirname(os.path.realpath(__file__)) # 返回當前檔案的上層目錄

yaml_path = os.path.join(cur_path,"test_list_data.yaml") # 拼接yaml檔案所在路徑

with open(yaml_path,encoding="utf-8") as yaml_file:

yaml_result = yaml.load(yaml_file,loader=yaml.fullloader)

print(yaml_result)

執行結果test_data.yaml為空檔案,會將資料寫到此檔案中去

import_yaml.py

# coding:utf-8

# import_yaml.py 寫入yaml檔案中的資料

import yaml

import os

cur_path = os.path.dirname(os.path.realpath(__file__)) # 返回當前檔案的上層目錄

yaml_path = os.path.join(cur_path,"test_data.yaml") # 拼接yaml檔案所在路徑

num_list = list(range(10))

with open(yaml_path,"w",encoding="utf-8") as yaml_file:

yaml.dump(num_list,yaml_file) # 引數為寫入的資料以及寫入的檔案流

執行後,開啟test_data.yaml檔案檢視

至此,簡單的yaml檔案的讀取和寫入完成

python基礎 PyYaml操作yaml檔案

格式 它的基本語法規則如下 大小寫敏感 使用縮排表示層級關係 縮排時不允許使用tab鍵,只允許使用空格。縮排的空格數目不重要,只要相同層級的元素左側對齊即可 yaml 支援的資料結構有三種物件的一組鍵值對,使用冒號結構表示。animal pets 或者如下格式 hash 陣列 cat dog gol...

python基礎 PyYaml操作yaml檔案

格式 它的基本語法規則如下 大小寫敏感 使用縮排表示層級關係 縮排時不允許使用tab鍵,只允許使用空格。縮排的空格數目不重要,只要相同層級的元素左側對齊即可 物件的一組鍵值對,使用冒號結構表示。animal pets 或者如下格式 hash 陣列 cat dog goldfish 或者如下格式 an...

python基礎之if,while,for使用方法

條件選擇結構格式 if else a 30if a 100and a 150 注意冒號 print 你好 else 注意冒號 print hello world 輸出hello worldif elif else a 30if a 50and a 150 print 你好 elif a 150 pr...