YAMLとJSON

Wikipediaからの引用。

YAML(ヤムル)とは、構造化データやオブジェクトを文字列にシリアライズ(直列化)するためのデータ形式の一種。

JSON(ジェイソン、JavaScript Object Notation)は、JavaScriptにおけるオブジェクトの表記法をベースとした軽量なデータ記述言語である。

Pythonの標準ライブラリでYAMLJSONを扱うものを探してみたが標準にはないっぽい。JSONは、JavaScriptでファイル内の文字列をeval()すればそのままオブジェクトに変換される。同じ発想でPythonで、params.pyを用意して、import paramsすれば良いというやり方でも良いのではないか?名づけてPySON (パイソン、Python Script Object Notation)。


というか仕事でこのやり方をしているのだが、注意点としては日本語の扱いやpy2exeでexe化する際に一緒にparams.pyを含めないように気を付けるだけであり、全く問題ない。一番手っ取り早いし、パラメータ用のファイルを取り込んでいるだけなので、それほど黒魔術的な訳でもない。というかJSONでもほとんど同じ。PySONでは、importする前に動的にsys.pathにパスを追加もできるのでパス設定も問題ない。


Pythonの標準ライブラリに存在しないということは必要性が低いと言えるのかもしれない。