<< home

PythonにおけるYAMLファイルの使い方

1. YAMLとは?

YAML(YAML Ain't Markup Language)は、設定ファイルやデータの記述に使われるシンプルなフォーマットです。JSONやXMLと似ていますが、より可読性が高いのが特徴です。

YAMLの基本構文

name: Alice age: 25 skills: - Python - JavaScript - YAML address: city: Tokyo country: Japan

2. PythonでYAMLを扱う(PyYAML

PythonでYAMLを扱うには PyYAML ライブラリを使用します。まずはインストールしましょう。

pip install pyyaml

2.1 YAMLファイルをPythonで読み込む

YAMLファイル config.yaml:

name: Bob age: 30 skills: - Python - Go

Pythonで読み込むコード:

import yaml # YAMLファイルを読み込む def load_yaml(file_path): with open(file_path, 'r', encoding='utf-8') as file: data = yaml.safe_load(file) return data config = load_yaml('config.yaml') print(config)

出力例:

{'name': 'Bob', 'age': 30, 'skills': ['Python', 'Go']}

yaml.safe_load() を使うことで、安全にYAMLをPythonの辞書型データとして読み込めます。


2.2 PythonのデータをYAMLに書き出す

Pythonの辞書データをYAMLファイルに書き出すことも可能です。

data = { 'name': 'Charlie', 'age': 28, 'skills': ['Java', 'Ruby'] } # YAMLファイルに保存 def save_yaml(file_path, data): with open(file_path, 'w', encoding='utf-8') as file: yaml.dump(data, file, allow_unicode=True, default_flow_style=False) save_yaml('output.yaml', data)

生成される output.yaml:

name: Charlie age: 28 skills: - Java - Ruby

3. YAMLの応用

3.1 複雑なデータ構造の扱い

server: host: localhost port: 8080 users: - name: Alice role: admin - name: Bob role: user

このような構造も safe_load() を使えば辞書型データとして扱えます。

config = load_yaml('config.yaml') print(config['server']['host']) # 'localhost' print(config['users'][0]['name']) # 'Alice'

3.2 環境設定ファイルとしての活用

YAMLは設定ファイルとして使われることが多いため、アプリケーションの設定情報を保存するのに便利です。


4. まとめ

YAMLを活用することで、柔軟なデータ管理が可能になります。



<< home