yaml是專門用來寫配置檔案的語言,非常簡潔強大,比json格式方便。可用來做自動化測試框架的配置檔案或用例檔案
安裝yaml:pip install pyyaml
#conf.yaml檔案
username: user01
password:
123456
#py檔案,讀取yaml檔案並轉換成字典
import yaml
defget_yaml_data
(filedir)
:with
open
(filedir,
'r',encoding=
'utf-8'
)as file1:
res = yaml.load(file1,loader=yaml.fullloader)
print
(res)
if __name__ ==
'__main__'
: get_yaml_data(
'../configs/conf.yaml'
)#執行結果:
#conf.yaml檔案-10
--101-
102#執行結果:[10
,[101,
102]
]
#conf.yaml檔案-10
- username: user01
password:
123456
#執行結果:[10
,]
#conf.yaml檔案
username: user01
password:
123456
info:
-101
-102
#執行結果:
#conf.yaml檔案
name:
&user marry
label1:
*user
label2:
*user
#執行結果:
使用—作為分隔符
#conf.yaml檔案
username: marry
password:
123456--
--101-
102-
103import yaml
defget_yamls_data
(filedir)
:with
open
(filedir,
'r',encoding=
'utf-8'
)as file1:
reslist =
res = yaml.load_all(file1,loader=yaml.fullloader)
#讀多個yaml使用yaml.load_all
for one in res:
print
(reslist)
if __name__ ==
'__main__'
: get_yamls_data(
'../configs/conf.yaml'
)
#a.yaml
username: marry
password:
123456
info: !include b.yaml # 繼承b.yaml檔案資料
#b.yaml
-101
-102
-103
#繼承yaml .py檔案
import yaml
import os.path
class
loader
(yaml.loader)
:def
__init__
(self,stream)
: self.root = os.path.split(stream.name)[0
]super
(loader,self)
.__init__(stream)
definclude
(self,node)
: filename = os.path.join(self.root,self.construct_scalar(node)
)with
open
(filename,
'r')
as f:
return yaml.load(f,loader)
loader.add_constructor(
'!include'
,loader.include)
if __name__ ==
'__main__'
:with
open
('../configs/a.yaml'
)as f:
data = yaml.load(f,loader)
print
(data)
#執行結果:
texi格式檔案
ffmpeg自帶文件及示例程式,存放在doc目錄下,文件對ffmpeg各個模組都有說明。發現乙個問題,很文件擴充套件名為 texi,如ffplay.texi ffmpeg.texi等。用文字編輯器開啟,發現其中多了一些特殊的標記,在ubuntu乙個命令texi2html,可以將 texi檔案轉換成h...
texi格式檔案
ffmpeg自帶文件及示例程式,存放在doc目錄下,文件對ffmpeg各個模組都有說明。發現乙個問題,很文件擴充套件名為 texi,如ffplay.texi ffmpeg.texi等。用文字編輯器開啟,發現其中多了一些特殊的標記,在ubuntu乙個命令texi2html,可以將 texi檔案轉換成h...
tsv csv格式檔案
逗號分隔值 comma separated values,csv,有時也稱為字元分隔值,因為分隔字元也可以不是逗號 其檔案以純文字形式儲存 資料 數字和文字 純文字意味著該檔案是乙個字串行,不含必須像二進位制數字那樣被解讀的資料。csv檔案由任意數目的記錄組成,記錄間以某種換行符分隔 每條記錄由欄位...