字符串格式占位符,与python 2.6,2.7和3.x最大程度地兼容

时间:2015-07-06 07:54:53

标签: python python-2.7 python-3.x python-2.6

我应该将哪个占位符与字符串的.format() - 方法结合使用,以便在与python解释器使用2.6,2.7和3.x(在我的情况下为3.2)时兼容?< / p>

我开始使用{:}占位符,但这并不适用于2.6。现在我使用的{<index-of-format-tuple>}似乎适用于所有列出的版本。

有更好的选择吗?性能不是问题,兼容性是。

1 个答案:

答案 0 :(得分:1)

这是Python 2.6中字符串格式的手册:https://docs.python.org/2.6/library/string.html#format-string-syntax

应该支持那里的所有内容而不会出现问题。

我个人通常会选择c风格的字符串格式:https://docs.python.org/2/library/stdtypes.html#string-formatting-operations

在大多数情况下,它运作得很好,对我来说比较熟悉。它仍然支持相当高级的格式化:

>>> print '%(language)s has %(number)03d quote types.' % \
...       {"language": "Python", "number": 2}
Python has 002 quote types.