Python2013/06/30ライブラリ:PyYAMLPythonの「PyYAML」というライブラリについてご紹介します。yaml「PyYAML」(ライブラリとしてimportするときは「yaml」)は、YAML形式のデータを扱うためのライブラリです。YAMLはXMLやJSONと比べるとシンプルなので自分の手でparseするのでもさほど大変ではないかとは思いますが、やはり、ライブラリを使うのが早くて確実かと思います。PyYAMLには大きく2つの機能――読み込みと書き込みとがあります。以下、順に見ていきます。読み込むf.close()YAML形式のデータを読み込むには、yaml.load()を使います。引数には、読み込みモードで開いたファイルオブジェクトを渡します。以下、「sample_dict.yaml」の中身が次のとおりだと仮定して見てみます。toraYAMLに馴染みがなくてYAMLの文法がよくわからない、という方は、公式サイト(この投稿を書いている時点での最新版は1.2です)かWikipediaのページを参照いただくとよいかと思います。dictトップの階層がハッシュ形式となっているデータを読み込んだときは、load()で生成されるのは辞書型の変数です。1573]}中身は通常の辞書型のデータになっています。バリューにリストがある場合は、それもPythonのリストとして格納されます。ここでpprint.pprint()というのを使っていますが、これは変数の中身を整形して表示するためのもので、yamlとは関係ありません(pprintも使うにはインストールが必要です)。次に、トップの階層がリストになっているデータの場合を見てみます。こちらも基本的にはハッシュと同じです。読み込むf.close()「sample_list.yaml」の中身は次のとおりとします。listこちらはリストに格納されます。'Kagoshima'}]ハッシュ型と同じく、ノードとしてリストやハッシュを含む場合は、それら子孫ノードもリストや辞書として格納してくれます。続いて、書き込みの方を。書き込みといっても、文字列に展開する機能だけです。書き込むf.close()書き込みは、yaml.dump()で行います。dumpで生成されるのは文字列なため、ファイルに書き込む場合は別途ファイルオブジェクトを用意して書き込みます。最後のもうひとつ、型について少しだけ見てみます。型の指定YAMLでは「!!int」といった「タグ」を各ノードの付ける(付記する)ことによって、型の指定ができるようです。setといったように、YAMLでのタグとPython型との間で対応しているそうなので、型をしっかり見て使う場合なんかには公式ドキュメントの該当するパートをごらんいただくのがよいかと思います。pyyaml」でインストールすることができます。使い方について書いています。系でところどころ異なるため参考にされる際は各記事の対象バージョンにご注意ください。簡素を追求する禅のような言語で、使っていて禅僧のような気分になれるところが魅力です(個人の感想であり効果・効能を示すものではありません)。:)author後藤隼人おかげさまで元気にやっています。