数値があり、パディングがゼロで特定の長さの文字列にフォーマットしたいと考えています。固定長が 22 の場合、この方法で実行できることがわかっているとします
format(variable,"%022d")
しかし、これによってできる方法はありますか
length = 22
format(variable,"%0lengthd")
% variable d
式で変数を使用する必要があることを意味します
ありがとう
数値があり、パディングがゼロで特定の長さの文字列にフォーマットしたいと考えています。固定長が 22 の場合、この方法で実行できることがわかっているとします
format(variable,"%022d")
しかし、これによってできる方法はありますか
length = 22
format(variable,"%0lengthd")
% variable d
式で変数を使用する必要があることを意味します
ありがとう
はい、内部で文字列の書式設定を使用して:
length = 22
format(variable,"%0{}d".format(length))
実際、おそらく、次の 1 回の呼び出しでこのすべてを実行できますstr.format()
。
length = 22
"{0:{1}}".format(variable, length)
古典的な文字列補間でさえこれをサポートしています:
>>> variable = 100
>>> length = 22
>>> print "%0*d" % (length,variable)
0000000000000000000100
この回答で詳細を参照してください: variable length of %s with the % operator in python