日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

自动化项目配置或用例文件格式推荐--yaml

發布時間:2023/10/11 综合教程 97 老码农
生活随笔 收集整理的這篇文章主要介紹了 自动化项目配置或用例文件格式推荐--yaml 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于yaml

  • YAML語言的設計目標,就是方便人類讀寫。如果你想要實現一些用ini不好做到的配置,可以使用yaml格式作為配置文件
  • 大小寫敏感
  • 使用縮進表示層級關系
  • 縮進時不允許使用Tab鍵,只允許使用空格。
  • 縮進的空格數目不重要,只要相同層級的元素左側對齊即可
  • # 表示注釋,從它開始到行尾都被忽略

yaml數據結構

1. yaml轉字典

yaml中支持映射或字典的表示,如下:

# 下面格式讀到Python里會是個dict
name: 灰藍
age: 0
job: Tester

輸出:

{'job': 'Tester', 'age': 0, 'name': u'\u7070\u84dd'}

2. yaml轉列表

yaml中支持列表或數組的表示,如下:

# 下面格式讀到Python里會是個list
- 灰藍
- 0
- Tester

輸出:

[u'\u7070\u84dd', 0, 'Tester']

3. 復合結構

字典和列表可以復合起來使用,如下:

# 下面格式讀到Python里是個list里包含dict
- name: 灰藍
age: 0
job: Tester
- name: James
age: 30

輸出:

[{'job': 'Tester', 'age': 0, 'name': u'\u7070\u84dd'}, {'age': 30, 'name': 'James'}]

4. 基本類型

yaml中有以下基本類型:

  • 字符串
  • 整型
  • 浮點型
  • 布爾型
  • null
  • 時間
  • 日期

我們寫個例子來看下:

# 這個例子輸出一個字典,其中value包括所有基本類型
str: "Hello World!"
int: 110
float: 3.141
boolean: true # or false
None: null # 也可以用 ~ 號來表示 null
time: 2016-09-22t11:43:30.20+08:00 # ISO8601,寫法百度
date: 2016-09-22 # 同樣ISO8601

輸出:

{'date': datetime.date(2016, 9, 22), 'None': None, 'boolean': True, 'str': 'Hello World!', 'time': datetime.datetime(2016, 9, 22, 3, 43, 30, 200000), 'int': 110, 'float': 3.141}

如果字符串沒有空格或特殊字符,不需要加引號,但如果其中有空格或特殊字符,則需要加引號了

str: 灰藍
str1: "Hello World"
str2: "Hello\nWorld"

輸出:

{'str2': 'Hello\nWorld', 'str1': 'Hello World', 'str': u'\u7070\u84dd'}

這里要注意單引號和雙引號的區別,單引號中的特殊字符轉到Python會被轉義,也就是到最后是原樣輸出了,雙引號不會被Python轉義,到最后是輸出了特殊字符;可能比較拗口,來個例子理解下:

str1: 'Hello\nWorld'
str2: "Hello\nWorld"
# -*- coding: utf-8 -*-
import yaml y = yaml.load(file('test.yaml', 'r'))
print y['str1']
print y['str2']

輸出:

Hello\nWorld
Hello
World

可以看到,單引號中的’\n’最后是輸出了,雙引號中的’\n’最后是轉義成了回車

讀寫yaml文件

  • 安裝:pip install ruamel.yaml
  • 使用ruamel.yaml庫里面函數參數Loader=ruamel.yaml.RoundTripLoader和Dumper=ruamel.yaml.RoundTripDumper可以用來保持新生成的yaml文件的表現和輸入文件一致。代碼如下:
from ruamel import yaml

if __name__ == "__main__":
#從yaml文件讀取
  with open('father.yml','r',encoding="utf-8") as f:
content = yaml.load(f, Loader=yaml.RoundTripLoader) # output: <type 'dict'>
print(type(content))
print(content) content.update({'age': 38})
print(content)
  #寫入到yaml文件
with open('ruamel.yml', 'w',,encoding="utf-8") as nf:
yaml.dump(content, nf, Dumper=yaml.RoundTripDumper)

生成新的yaml文件形式如下,正是我們期望的格式:

name: John Smith
age: 38
spouse:
name: Jane Smith
age: 25
children:
- name: Jimmy Smith
age: 15
- name: Jenny Smith
age: 12

總結

以上是生活随笔為你收集整理的自动化项目配置或用例文件格式推荐--yaml的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲麻豆一区 | 日韩精品在线免费观看 | 国产成人精品一区二区在线小狼 | 老妇高潮潮喷到猛进猛出 | 中国黄色网页 | 特级一级片 | 中文字幕3区| 色男人av | 男女69视频 | 国产色中色 | 日韩一区二区三区四区 | 国产激情视频 | 日韩中文字幕精品 | 91人人爽| 人妻精品一区一区三区蜜桃91 | 天天曰夜夜操 | 99爱视频在线观看 | 亚洲com| 一区二区伦理 | 国产女人和拘做受视频免费 | 黑人借宿巨大中文字幕 | 中文字幕在线观看网 | 天堂中文在线观看 | 国产69页| 国偷自产av一区二区三区 | 日本二区三区视频 | 99久久精品无免国产免费 | 日韩视频在线免费 | 免费观看一级黄色片 | 韩国美女被c | 国产精品人 | chien国产乱露脸对白 | 三年中国片在线高清观看 | 亚洲色图激情 | 欧美一二区视频 | 免费荫蒂添的好舒服视频 | videos另类灌满极品另类 | 中文字幕制服诱惑 | 国产成年人 | 91精品毛片 | 欧美色图在线视频 | 欧美呦呦 | 成人午夜福利一区二区 | 久久77777| 亚洲精品成a人在线观看 | 成人精品免费视频 | 秋霞福利视频 | 久久a毛片| 456av| 亚洲综合日韩在线 | 免费看欧美一级特黄a大片 国产免费的av | 欧洲一区二区在线观看 | 日本三级久久 | 精品国产999久久久免费 | 久久久久青草 | 久久久久久久久久久久久久 | 久久久久久91亚洲精品中文字幕 | 午夜国产视频 | 亚洲av无码国产在丝袜线观看 | av无码精品一区二区三区宅噜噜 | 91黄色大片 | 婷婷丁香久久 | 美女脱了内裤喂我喝尿视频 | 九七久久 | 成人wwxx免费观看 | 东京av男人的天堂 | 久久受 | 久久久久久久久久久久国产精品 | 成人午夜免费观看 | 黄色一级片在线播放 | 久久久久久久久久久久久久久久久久久久 | 26uuu精品一区二区在线观看 | 老司机精品视频在线 | 麻豆黄色网 | 黄页网站视频在线观看 | 日本韩国欧美一区 | 日韩中文字幕在线播放 | 小视频免费在线观看 | 操批网站 | 久草成人在线视频 | 99国产精品一区二区三区 | 国产传媒av在线 | 欧美成人黄色小视频 | 亚洲综合精品视频 | 就爱操av | 操操干干 | 亚洲一区二区三区免费视频 | 国产三级全黄 | 亚洲一级av毛片 | 最新av女优| 亚洲成人国产 | 日韩在线一卡 | 欧美区二区三区 | 日韩人妻一区二区三区蜜桃视频 | 意大利性荡欲xxxxxx | 精品一区二区人妻 | 国产精品一区二区免费视频 | 女人的av | 色综合五月天 |