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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/10/11 编程问答 81 如意码农
生活随笔 收集整理的這篇文章主要介紹了 自动化项目配置或用例文件格式推荐--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的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲国产视频一区 | 一区二区三区四区在线免费观看 | 国产白丝一区二区三区 | 欧美性videos高清精品 | www,jizz,com| 久久久久精彩视频 | 日本不卡视频在线播放 | 麻豆国产91在线播放 | 青青草娱乐视频 | 新久草视频| 黄色av观看 | 日韩高清在线 | 亚洲av无码乱码在线观看富二代 | 国产高清中文字幕 | а√天堂中文在线资源8 | 国产欧美一区二区精品忘忧草 | 欧美巨乳在线 | 女人又爽又黄免费女仆 | 日本黄色片在线播放 | 精品免费国产一区二区三区四区 | 欧美双性人妖o0 | 日本xx视频 | 亚洲欧洲久久久 | 色就是色亚洲色图 | 亚洲精品粉嫩小泬20p | 三级黄色图片 | 尤物网在线 | 欧洲成人av| av免费在线观 | 国产成人精品一区在线播放 | 天天人人综合 | 毛片在哪看 | av制服丝袜在线 | 不卡一区二区三区四区 | 亚洲狠狠婷婷综合久久久久图片 | 日本中文字幕第一页 | 成人国产 | 国产专区一区 | 高h捆绑拘束调教小说 | 亚洲午夜av| 伊人精品国产 | 精品日韩在线观看 | 国产精品网站视频 | 亚洲视频高清 | 91香蕉视频在线看 | 欧美精品一区二区不卡 | 成人免费看片入口 | 久久亚洲av永久无码精品 | 亚洲青春草| 天天想你免费观看完整版高清电影 | 国产jizz| 偷拍视频一区 | 性欧美一区二区三区 | 欧美久久天堂 | 麻豆国产视频 | 国产精品无码一区二区无人区多人 | 91在线播放视频 | 午夜免费剧场 | 欧美一级做性受免费大片免费 | 久久国产黄色片 | 牛牛电影国产一区二区 | 欧美精品一区二区三区久久久 | 亚洲成人77777 | 91丝袜一区在线观看 | 久久精品天天中文字幕人妻 | 婷婷色激情 | 欧美日韩一区二区在线 | 亚洲图片偷拍区 | 在线电影一区二区 | 欧美一级欧美三级在线观看 | 国产盗摄在线观看 | 人人91 | 亚洲精品66 | 男男h黄动漫啪啪无遮挡软件 | 日本亚洲视频 | 久久成人在线视频 | 欧美一区二区三区在线播放 | 一区二区三区四区影院 | 国产男男gay体育生网站 | 一级黄色a| 最近中文字幕在线mv视频在线 | 九九国产视频 | 国产尤物网站 | 日韩欧美国产中文字幕 | xxxx国产视频 | 四虎免费av | 高跟鞋肉丝交足91 | 日韩一区欧美二区 | 一区二区三区四区五区六区 | 麻豆成人免费 | 999伊人| 国产一级做a爰片在线看免费 | 综合色99 | 激情五月综合网 | 欧美一区视频 | 日本男女激情视频 | 51国产偷自视频区视频 | 日韩在线播放视频 | 老司机精品福利导航 |