使用
Pythons字符串格式化,是否有一种很好的方法可以将后缀添加到左对齐的字符串中,该字符串填充为固定大小?
我想以下列格式打印键值对列表:
a_key: 23
another_key: 42
...
问题是’:’.到目前为止我找到的最佳解决方案是将’:’附加到密钥名称:
print "{:<20} {}".format(key+':', value)
但我认为这是一个相当丑陋的解决方案,因为它减少了格式和价值的分离.是否有可能直接在格式规范中实现这一点?
我正在寻找的是这样的:
print "{do something here} {}".format(key, value)
您不能更改“”.format(),因为它是内置的,但如果可以为方法提供字符串和参数:
print(kf.format("{:t{}} {}", key, ':', value))
您可以通过继承string.Formatter来允许空格式字段并提供特殊类型处理程序来实现:
from string import Formatter
import sys
if sys.version_info < (3,):
int_type = (int, long)
else:
int_type = (int)
class TrailingFormatter(Formatter):
def vformat(self, *args):
self._automatic = None
re