物理の駅 Physics station by 現役研究者

テクノロジーは共有されてこそ栄える

Python3でYAMLファイルをMessagePack形式でファイルに出力する方法 又は 出力したファイルから読み込む方法

filename_yml という YAML形式のファイルがあり、filename_msgというMessagePack形式で出力したいとする。

filename_yml = "test.yml"
filename_msg = "test.msg"

import yaml
import msgpack 
obj = yaml.load(open(filename_yml),Loader=yaml.CLoader)
msgpack.dump(obj,open(filename_msg,"wb"), use_bin_type=False)
obj = msgpack.load(open(filename_msg,"rb"),raw=False)

use_bin_type=False 及び raw=False は、文字コードを ascii のstringにする指定である。