【问题标题】:How to parametrize string.format() format specification?如何参数化 string.format() 格式规范?
【发布时间】: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.Templateformat 两次,但这会使我的代码不太清晰:

print ('{{0:>{0}}}: {{1}}').format(line_number_max_digits).format(lineno + i, chunk)

在这种情况下,哪种方法被认为是一种好的做法?

【问题讨论】:

  • 我会将它们放在单独的行中,首先生成格式字符串,然后是格式化结果。像这样内联它会降低它的可读性。

标签: python string parameter-passing string-formatting


【解决方案1】:

嵌套支持有限。

Example

print('{1:>{0}}: {2}'.format(line_number_max_digits, lineno + i, chunk))

【讨论】:

    猜你喜欢
    • 2013-06-22
    • 2023-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    相关资源
    最近更新 更多