如何用宽度和文字来格式化字符串?

2024-09-30 18:29:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有Python(2.7)代码,它采用一个浮点值,用千个分隔逗号和3个小数位格式化,然后添加字符串文字“sec”。你知道吗

然后,通过左对齐并给定宽度20,进一步格式化结果:

num = '{:,.3f} sec'.format(1200300.4443333333)
print '{:<20}'.format(num) + 'more'

输出:

1,200,300.444 sec   more

我想把它压缩成一个format调用,但是我不知道如何正确地使用字符串文本的宽度。你知道吗

我尝试了以下方法:

num = '{:,.3f}'.format(1200300.4443333333)
print '{:<20} sec'.format(num) + 'more'

但结果却不一样:

1,200,300.444        secmore

我还尝试了以下方法:

num = '{:,.3f}'.format(1200300.4443333333)
print '{:<20 sec}'.format(num) + 'more'

但是失败了:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print '{:<20 sec}'.format(num) + 'more'
ValueError: Invalid conversion specification

有没有办法将初始代码压缩成一个format调用?你知道吗


Tags: 方法字符串代码文本format宽度moresec