Python のフォーマット ミニ言語を使用して辞書を参照しています。辞書の 1 つの float について、小数点なしで出力したいと思います。
例えば:
a_dict = {'a_float' : 321.5241,
'b_float' : 0.011322,
'c_float' : 24.12354}
out = ('1 25142U {a_float:9.3f}\n'
'2 {b_float}{c_float:10.3f}').format(**a_dict)
print out
戻り値:
>>> 1 25142U 321.524
>>> 2 0.011322 24.123
ただし、出力が返されるように b_float (「0.」を削除する) をフォーマットしたいと思います。
>>> 1 25142U 321.524
>>> 2 011322 24.123
これは、ミニ言語フォーマット仕様のコンテキスト内で可能ですか?
これは、(a) 辞書自体の代わりに個々の項目を渡す (および引数でそれらを編集する) か、(b) 出力文字列を後処理することによって実行できることは承知していますが、Python の mini-言語は、ミニ言語のフォーマット仕様のみにこの問題を単純化するのに十分洗練されています。
(この動機に興味がある人のために、私は衛星パラメーターの辞書から TLE を印刷しようとしています。興味がある場合は、Google/Wikipedia で詳細がわかるでしょうが、各文字の位置は重要です。偏心など一部の項目では小数点以下を想定しています。)