【发布时间】:2012-01-21 07:07:28
【问题描述】:
我有一个变量line_number_max_digits,我想在字符串格式规范中使用它作为width 令牌。我想出了以下代码:
print ('{0:>%d}: {1}' % line_number_max_digits).format(lineno + i, chunk)
但我知道百分比格式最终会从 Python 中消失。我可以使用string.Template 或format 两次,但这会使我的代码不太清晰:
print ('{{0:>{0}}}: {{1}}').format(line_number_max_digits).format(lineno + i, chunk)
在这种情况下,哪种方法被认为是一种好的做法?
【问题讨论】:
-
我会将它们放在单独的行中,首先生成格式字符串,然后是格式化结果。像这样内联它会降低它的可读性。
标签: python string parameter-passing string-formatting