Python で YAML を扱うためにはサードパーティのモジュールが必要だ。Perl で言う cpan
コマンドに当たるのは easy_install
というものらしい。
easy_installとは
http://morchin.sakura.ne.jp/effective_python/easy_install.html
モジュールのインストール
ブラウザで ez_setup.py
をダウンロードして実行する。
C:\> python ez_setup.py
これで Python をインストールしたフォルダ直下の Scripts
フォルダに easy_install.exe
という実行ファイルが作成される。
Python で YAML を扱うモジュールは PyYAML というのがいいみたい
C:\> D:\Python26\Scripts\easy_install PyYAML
実際に使ってみる
次のような設定ファイルを用意する。
config.yaml
--- data1: 値1 data2: data20: 値20 データ21: - value21 - 値22
文字コードはシフト JIS、改行コードは CRLF
(要するに、メモ帳での標準形式)とした。これを読み込むスクリプトは次のようになる。
test.py
# coding=utf-8 import yaml import codecs try: # シフト JIS でデコードしながら読み込む fh = codecs.open( "config.yaml", "r", "shift-jis" ) cfg = yaml.load( fh ) print yaml.dump( cfg # CP932 でエンコードして出力 ,encoding = "cp932" # ASCII 文字以外を許す ,allow_unicode = True # ブロックスタイルで表示 ,default_flow_style = False ) except IOError: print u"設定ファイルが読み込めませんでした。"
実行例
C:\> python test.py data1: 値1 data2: data20: 値20 データ21: - value21 - 値22
load()
で読み込み、dump()
で表示する。日本語も問題なく扱えた。
Pingback: 紺色ダイス | [Python] YAMLを読んでみよう