我正在编写一些报告,想知道是否有更简单的方法来实现以下行为。
>>> '{:-^60}'.format('Percentage used: {:.2%}'.format(.4))
'------------------Percentage used: 40.00%-------------------'
你可以看到,我正在将文本居中,然后打印一个格式化为百分比的数字。但是我在一个格式函数内使用另一个格式函数。如果可能的话,我希望在单个函数中完成相同的操作,类似于以下方式。
'$SOMETHING GOES HERE'.format(header = 'Percentage Used:',percentage = .4)
当然,我正在寻找一个通用的解决方案,它可以适用于所有或大多数格式选项,而不仅仅是对齐。 谢谢。
'{:10}'.format('({:3}, {:3})'.format(1,2))
这样的代码之外的其他方式。这里也是同样的情况。你需要居中整个字符串,而不是任何特定的元素,因此你必须格式化已经格式化过的字符串。@wim 是正确的,center
可能更易读,但它们实际上是等效的。 - abarnertformat
更强大和灵活(但更复杂)的东西,在format
被讨论的几年里,人们提出了各种替代方案,并编写了实现它们大部分功能的库。尝试搜索PyPI,也许还有ActiveState的配方集合(因为这是在PyPI还在开发中时发生的),也许你会找到满足你需求的东西。(我没有具体的推荐。) - abarnertstr.format
;你可能可以很容易地将其移植到3.x,然后添加任何扩展。 - abarnert