(続)YAMLをPythonで使う
 2006.08.11

以前,PythonでYAMLを読み書きするモジュールを紹介した.YAMLをPythonで使う 最近になってPyYAMLというものがあることを知った.こちらはpure Pythonのモジュールだ. http://www.pyyaml.org/wiki/PyYAML インストールは, python setup.py build; python setup.py install でO.K.です. 少し触ってみたら,以前紹介したsyckとPyYAMLでデータ交換ができないようです.こんなんでデータフォーマットとして大丈夫なんだろか?YAMLのバージョン(があるのか不明ですが)の問題?. 以下実行例:
dragon-[3]% python
Python 2.3.4 (#1, Sep 28 2005, 13:29:57)
[GCC 3.3.2 20031218 (Vine Linux 3.3.2-0vl8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yaml
>>> d = {'foo':10, 'bar': -40, 'hoge': (0, 2, 4), 'page': [(1, 3), (2, 5)]}
>>> print yaml.dump(d)
bar: -40
hoge: !!python/tuple [0, 2, 4]
foo: 10
page: !!pairs
- {1: 3}
- {2: 5}

>>> dd = yaml.load(yaml.dump(d))
>>> d == dd
True
>>> d is dd
False
>>> import syck
>>> ddd = syck.load(yaml.dump(d))
>>> ddd == d
False
>>> ddd
{'foo': 10, 'bar': -40, 'page': [{1: 3}, {2: 5}], 'hoge': [0, 2, 4]}
>>>
カテゴリー:python&zope