私は pyyaml を使用して Python 辞書から yaml ファイルを出力していますが、浮動小数点数がファイルに書き込まれるときに浮動小数点数の精度または出力形式を設定する方法を知りたいと思っています。
これを処理する yaml.dumper を作成するにはどうすればよいですか?
私は pyyaml を使用して Python 辞書から yaml ファイルを出力していますが、浮動小数点数がファイルに書き込まれるときに浮動小数点数の精度または出力形式を設定する方法を知りたいと思っています。
これを処理する yaml.dumper を作成するにはどうすればよいですか?
http://pyyaml.org/browser/pyyaml/trunk/lib/yaml/representer.py によると、 float をダンプするときpyyaml
の正規の文字列表現形式を使用します。repr()
より正確には、フロートを文字列に変換するコードのメイン行は次のとおりです。
# If data is a finite float and not nan
value = unicode(repr(data)).lower()
何か違うものが必要な場合は、フロートの独自の文字列変換を行う必要があるようです。プログラムで事前に float を文字列に変換するか、独自のRepresenter
クラスを記述して初期化することができますyaml.dumper.Dumper
。