LoginSignup
0
1

More than 1 year has passed since last update.

yamlファイルを作ってpythonで使用してみる mshmura

Last updated at Posted at 2021-12-07

目的

  • yamlファイルの利用になれる

注意点

  • yaml実務未経験者が書いているので、不備等あればご指摘いただければ幸いです。

yamlファイル

test.yaml
shop_type: fruits stand

## リスト
fruits_list:
  - "りんご"
  - "バナナ"
  - "みかん"

## 辞書型
fruits__price_dict:
  "りんご" : 100
  "バナナ" : 150
  "みかん" : 399

## 参照される側
shop_name: &test_ref "田中果物株式会社"
## 参照する側
shop_company_name: *test_ref

## 挿入(今回)

## あまり下記のような使い方はしないかもしれないが、思いついたので記載
# 更新前
staff_dict: &staff_dict
  staff1 : "吉田"
  staff2 : "井上"
  staff3 : "田中"

# 更新1回目
staff_dict_updated: &staff_dict_updated
  <<: *staff_dict
  staff2: "木下(name change)"
  staff4: "竹下(new staff)"

# 更新2回目
staff_dict_updated2: 
  <<: *staff_dict_updated
  staff3: "近藤(name change)"
  staff5: "佐々木(new staff)"

description: "\
  新鮮な野菜を扱っています。\
  とても安いです。\
  いらっしゃいませ。"

実行例

test.py
import yaml
with open('test.yaml','r') as f:
    shop_info = yaml.safe_load(f)

# 店のtypeを表示
print("店タイプ:  ",shop_info["shop_type"])

# 果物リストの2番目を表示
print("果物リストの2番目:  ",shop_info["fruits_list"][1])

# ミカンの価格を表示
print("ミカンの価格:  ",shop_info["fruits__price_dict"]["みかん"])

# 会社の名前を表示
print("会社名:  ", shop_info["shop_company_name"])

# 更新前のスタッフリストを表示
print("スタッフリスト:  ",shop_info["staff_dict"])

# 更新1回目のスタッフリストを表示
print("スタッフリスト更新1回目:  ",shop_info["staff_dict_updated"])

# 更新2回目のスタッフリストを表示
print("スタッフリスト更新2回目:  ",shop_info["staff_dict_updated2"])

# 店の説明
print("会社説明:  ",shop_info["description"])

実行結果

店タイプ:   fruits stand
果物リストの2番目:   バナナ
ミカンの価格:   399
会社名:   田中果物株式会社
スタッフリスト:   {'staff1': '吉田', 'staff2': '井上', 'staff3': '田中'}
スタッフリスト更新1回目:   {'staff1': '吉田', 'staff2': '木下(name change)', 'staff3': '田中', 'staff4': '竹下(new staff)'}
スタッフリスト更新2回目:   {'staff1': '吉田', 'staff2': '木下(name change)', 'staff3': '近藤(name change)', 'staff4': '竹下(new staff)', 'staff5': '佐々木(new staff)'}
会社説明:   新鮮な野菜を扱っています。とても安いです。いらっしゃいませ。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1