9 Yaml格式檔案

2021-10-17 18:57:14 字數 2622 閱讀 5650

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檔案由任意數目的記錄組成,記錄間以某種換行符分隔 每條記錄由欄位...