Python:空格以长字符串形式浮动



我正在生成一个大的输出文件,它有好几行。这是我希望制作的一节的缩短版。

line = 
f"""
Output: {a} {b:0.10f} {c:0.8f}
"""

其中a、b和c是可变长度的浮点。

在上面的例子中,我已经设法将b浮点和c浮点分别缩短到10位和8位。

然而,我希望得到一个字符串,当打印时看起来像:

Output: 10.05     0.0987654321           0.87654321 

其中,值之间的间距可以单独控制,但不一定相等。从本质上讲,我希望将这些值锁定在适当的位置。由于a也可能是长度变化的元组(这会影响浮点的定位(,这一点变得困难。

如果没有.format()方法,这可能吗?如果没有,应如何正确使用.format()方法?

将空格放在说明符之前,并删除浮动的0前缀

.之前的值是填充和位置,而不一定是浮点的0前缀

>>> f"Output: {a} {b:.10f} {c:.8f}"
'Output: 10.05 0.0987654321  0.87654321'
>>> f"Output: {a: <5} {b: >15.10f} {c:0>15.8f}"
'Output: 10.05    0.0987654321 000000.87654321'

最新更新