はじめに
pythonでyamlファイルの読み込みと書き込みを必ず忘れるので、メモ代わりにまとめています。
環境
win10
python 3.9.1
pyyaml 5.4.1
pyyamlのインストール
pip install pyyaml
使用例
自分がよく使うためのテンプレートの意味もあるので、ここ違うんじゃねって思ったらコメントで指摘してくれるとありがたいです。
ここで使うyamlファイル
example.yaml
key1: value
key2: value
読み込み
read_yaml.py
import yaml
with open('example.yaml', encoding='utf-8')as f:
example = yaml.safe_load(f)
print(example)
#{'key1': 'value', 'key2': 'value'}
書き込み
write.py
import yaml
example = {'key1': 'value', 'key2': 'value'}
with open('example.yaml','w')as f:
yaml.dump(example, f, default_flow_style=False, allow_unicode=True)
default_flow_style=False
はyamlをfllowスタイル(上のexample.yamlの形)に出力するため
allow_unicode=True
は日本語などをエンコードしないで、読めるように出力するため
書き込みが必要で実際にコード内で使うとき
主に自分が使うとき用
example.py
import yaml
with open('example.yaml', encoding='utf-8')as f:
example = yaml.safe_load(f)
def close_example():
with open('example.yaml','w')as f:
yaml.dump(example, f, default_flow_style=False, allow_unicode=True)
こうしておくことで、内部で変更したりして保存するときに、関数を呼び出すだけで済む。