PyYAMLとを使用して能力python--パッケージ

前戯

YAML言語の設計目標は、人間の読者を容易にすることです。それは本質的に、共通のシリアル・データ・フォーマットです。

次のようにその基本的な構文規則があります。

  • YAMLの大文字と小文字を区別し;
  • 使用インデントは階層を表し;
  • インデントスペースタブを使用することができない、スペースの数は、同じレベル左(典型的には二つまたは四つのスペース)を必要としません

行の最後は、パーサによって無視されるまで、#この文字からコメントを示します。

YAMLのデータ構造は3でサポートされています。

オブジェクト:キーのセット、またマッピング(マッピング)として知られている/ハッシュ(ハッシュ)/ディクショナリ(辞書)

配列:値のセットが順に配置され、また、公知の配列(シーケンス)/リスト(一覧表)

スカラー(スカラー):個々の値を分割することができません

配列

接続詞を開始行ラインのセットは、アレイを形成します。

-猫
-犬
-金魚

次のようにのpythonに。
[ '猫'、 '犬' 、 '金魚']

 オブジェクト

コロンで表される構造を使用してのキーと値のオブジェクトのセット。
動物:ペット

コロンの後にスペースが存在する必要があります

JavaScriptが次のなっ。

{動物: 'ペット'}

PythonはYAMLを読みます

インストールPyYAMLとライブラリー

ピップインストールPyYAMLと

データのシナリオ:

トムSmith37の歳、彼は25歳の妻、ジェーン・スミスを、持っている、と彼は2人の子供、15歳のジミー・スミスという男を、持っています。ジェニー・スミスと呼ばれる別の、12歳

family.yaml

名前:トム・スミス
年齢: 37 
配偶者:
  名:ジェーン・スミス
  年齢: 25 
childen:
   - 名前:ジミー・スミス
    年齢: 15 
  - 名前:ジェニー・スミス
    年齢: 12

Pythonのファイル読み込み

インポートYAML 

ファイル =オープン(' family.yaml '" R " 
データ = yaml.load(ファイル、ローダ= yaml.FullLoader)
 印刷(データ)
 { '名前': 'トム・スミス'、 '年齢':37 '配偶者' { '名前': 'ジェーン・スミス'、 '年齢':25}、 'childen':[{ '名前': 'ジミー・スミス'、 '年齢':15}、{ '名前': 'ジェニー・スミス」、 '年齢':12}]} 

印刷(データ[ ' 名前' ])  トム・スミス
プリント(データ[ ' 年齢'])  37 
プリント(データ[ ' 配偶者' ] [ ' 名前' ])  ジェーン・スミスの
印刷(データ[ ' 配偶者' ] [ ' 年齢' ])  25 
プリント(データ[ ' childen ' ])  [{'名前': 'ジミー・スミス'、'年齢':15}、{'名前': 'ジェニー・スミス'、 '年齢':12}] 
印刷(データ[ ' childen ' ] [0] [ ' 名前' ])  ジミースミス
プリント(データ[ ' childen '] [0] [ " 年齢' ])  15 
プリント(データ[ ' childen ' ] [1]〜[ ' 名前' ])  ジェニースミス
プリント(データ[ ' childen ' ] [1]〜[ ' 年齢' ])  12

 YAMLフォーマットへのPythonのデータ型

 私たちは型にYAMLから読み取るyaml.load、パイソンを使用の上、我々はタイプYAMLのPythonの型にダンプを使用することができます

インポートYAML 

LIS = [ ' 名前'' 年齢'' ジョブ' ] 
DIC = { ' IT '' テスト'' DEV '' UI ' } 

プリント(yaml.dump(LIS))
 プリント(yaml.dump (DIC))

結果:

- 名前
 - 年齢
 - 仕事

IT:テスト
DEV:UI

YAMLを書き込まれたデータファイルのPythonの種類

輸入YAML 

LIS = { ' '' トム・スミス'' 年齢':37、' 配偶者':{ ' '' ジェーン・スミス'' 年齢':25 }、
        ' childen ':[{ ' 名前'' ジミー・スミス'' 年齢':15}、{ '名前"' ジェニー・スミス'' 年齢':12 }]} 

DIC = { ' IT '' テスト'' DEV '' UI ' } 
(オープンと' family.yaml '' W ' :Fなど)、
    F。書き込み(yaml.dump(LIS))
    f.write(yaml.dump(DIC))

結果:

 YAML能力プロファイルにパッケージ化

desired_caps.yaml

platformName:アンドロイド   注意要有空格 
platforVersion:9.1.1 
DEVICENAME: 127.0.0.1:62001 
アプリ:C:\アプリケーション\ csca3。1.0 の.apk 
appPackage:com.csca 
appActivity:com.csca.ui.activity.SplashActivity 
Moresheth:偽
IP:アドレス127.0.0.1 
ポート: 4723

コンフィギュレーション・ファイルYAMLの内容を読みます

インポートYAML
 から appium インポートwebdriverを

ファイル =オープン(' desired_caps.yaml '' R ' 
データ = yaml.load(ファイル、ローダ= yaml.FullLoader)

desired_caps = {}は
[desired_caps ' platformName ' ] =データ[ ' platformName ' ] 
desired_caps [ ' platforVersion ' ] =データ[ ' platforVersion ' ] 
desired_caps [ ' DEVICENAME '] =データ[ ' DEVICENAME ' ] 
desired_caps [ ' アプリ' ] =データ[ ' アプリ' ] 
desired_caps [ ' appPackage ' ] =データ[ ' appPackage ' ] 
desired_caps [ ' appActivity ' ] =データ[ ' appActivity ' ] 
desired_caps [ ' NORESET ' ] =データ[ ' NORESET ' ] 

ドライバ = webdriver.Remote(' のhttp:// '+のStr(日付[' IP ' ])+ ' ' + STR(データ[ ' ポート' ])+ ' / WD /ハブ'、desired_caps)

おすすめ

転載: www.cnblogs.com/zouzou-busy/p/11439259.html