中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

YAML數據格式學習

發布時間:2020-06-14 18:38:25 來源:網絡 閱讀:806 作者:等你的破船 欄目:編程語言

YAML是YAML Ain’t Markup Language (YAML?)的縮寫。漢語意思是YAML不是一種標記語言...


Python使用需要安裝PyYaml模塊

pip install pyyaml


書寫格式:

1、YAML大小寫敏感;
2、使用縮進代表層級關系,縮進只能使用空格,不能使用TAB;
3、相同層級左對齊;

4、只有注釋行語法,使用 # 注釋

 

支持的數據格式:

1、對象,使用鍵值對的數據。字典、哈希

2、數組,一組值的集合。列表

3、常量,單個值。字符串(str)、布爾值(bool)、整數(int)、浮點數(float)、Null、時間(time)、日期(date)

 

語法:

 1、字典格式,Key: value,value前必須加空格

webserver:

  ip: 192.168.1.1
  port: 8000
  create_date: 2019-06-09
  create_time:1:01:01:01


# 結果:
{ webserver: 
   { ip: '192.168.1.1',
     port: 8000,
     create_date: Sun Jun 09 2019 08:00:00 GMT+0800 (中國標準時間),
     create_time: 219661 } }

 

 

2、列表格式,- value,-value前必須加空格

ip: 
  - 192.168.1.1
  - 192.168.1.2
  - 192.168.1.3
  - 192.168.1.4

# 結果:
{ ip: [ '192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4' ] }

 

 

3、列表和字典互相嵌套

webserver:
  - ip: 
    - 192.168.1.1
    - 192.168.1.2
    - 192.168.1.3
    - 192.168.1.4
  - port: 8000
# 列表和字典嵌套
# 結果:
{ webserver: 
   [ { ip: [ '192.168.1.1', '192.168.1.2', '192.168.1.3', '192.168.1.4' ] },
     { port: 8000 } ] }

 

4、!! 強制數據類型轉換

port: !!str 8000
num: !!int '1999'
boolean: !!bool 'true'
second: !!float '18.362'

# yaml中,強制轉換時,只是給字符串加引號,去引號,如果去引號后的值和要求的類型不符,轉換報錯。
# 結果
{ port: '8000', num: 1999, boolean: true, second: 18.362 }

 

5、定義錨點&和引用,&和*不能作為行首使用。作用是重復引用相同的值

port: &webport  # 定義錨點,&不可用在行首
  - 8001
  - 8002
server:
  ip: 192.168.1.1
  port: *webport    # 引用

public: 
 addr: &addr1 liaoning  # 定義錨點


address:                # 引用
  - *addr1

結果:
{ port: [ 8001, 8002 ],
  server: [ '192.168.1.1', [ 8001, 8002 ] ],
  public: null,
  addr: 'liaoning',
  address: [ 'liaoning' ] }

6、  合并,<<,配合錨點使用,合并成一個字典

merge: 
  - &CENTER { x: 1, y: 2 } 
  - &LEFT { x: 0, y: 2 } 
  - &BIG { r: 10 } 
  - &SMALL { r: 1 }
sample1: 
  <<: *CENTER r: 10
sample2: 
  << : [ *CENTER, *BIG ] 
  other: haha
sample3: 
  << : [ *CENTER, *BIG ] 
  r: 100
  s: 6

# 結果:
{ merge: [ { x: 1, y: 2 }, { x: 0, y: 2 }, { r: 10 }, { r: 1 } ],
  sample1: { x: 1, y: 2, r: 10 },
  sample2: { x: 1, y: 2, r: 10, other: 'haha' },
  sample3: { x: 1, y: 2, r: 100, s: 6 } }


 

7、定義格式符號,>和|

segment_enter: >               # >符號,只保留段落最后一個回車
 Mark set a major league
 home run record in 1998.
line_enter: |                # |符號,所見即所得,保留每行的回車
 65 Home Runs
 0.278 Batting Average
# 結果:
{ segment_enter: 'Mark set a major league home run record in 1998.\n',
  line_enter: '65 Home Runs\n0.278 Batting Average\n' }

 

 

8、---把內容分割成多個文檔,以下例子相當于兩個文件。

---
port: &webport  # 定義錨點,&不可用在行首
  - 8001
  - 8002
server:
  ip: 192.168.1.1
  port: *webport    # 引用
  
---
public: 
 addr: &addr1 liaoning  # 定義錨點
address:                # 引用
  - *addr1

 

9、app自動化測試配置用例(來源于網絡):

# Test using included Django test app
# First install python-django
# Then launch the app in another terminal by doing
#   cd testapp
#   python manage.py testserver test_data.json
# Once launched, tests can be executed via:
#   python resttest.py http://localhost:8000 miniapp-test.yaml
---
- config:
    - testset: "Tests using test app"
- test: # create entity
    - name: "Basic get"
    - url: "/api/person/"
- test: # create entity
    - name: "Get single person"
    - url: "/api/person/1/"
- test: # create entity
    - name: "Get single person"
    - url: "/api/person/1/"
    - method: 'DELETE'
- test: # create entity by PUT
    - name: "Create/update person"
    - url: "/api/person/1/"
    - method: "PUT"
    - body: '{"first_name": "Gaius","id": 1,"last_name": "Baltar","login": "gbaltar"}'
    - headers: {'Content-Type': 'application/json'}
- test: # create entity by POST
    - name: "Create person"
    - url: "/api/person/"
    - method: "POST"
    - body: '{"first_name": "Willim","last_name": "Adama","login": "theadmiral"}'
    - headers: {Content-Type: application/json}


 

 

 

 

 

 

 

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬溪县| 焉耆| 长兴县| 玛曲县| 安国市| 惠安县| 大石桥市| 洛阳市| 锦州市| 定西市| 荔浦县| 阜阳市| 武夷山市| 天长市| 兴义市| 商水县| 抚顺市| 庆城县| 黔西| 明光市| 蚌埠市| 新野县| 筠连县| 嘉黎县| 临潭县| 都江堰市| 车致| 冀州市| 遵义市| 郁南县| 长汀县| 涡阳县| 乌什县| 黄梅县| 临西县| 喜德县| 林州市| 彰化县| 陆川县| 信丰县| 万源市|