这可能是一个简单的问题,并有一个简单的答案。我有一系列Python3打印语句,我想在打印到屏幕时看起来如下所示。
test_integer_to_month ................... OK
test_month_to_integer ................... OK
test_abbreviated_int_to_month ........... OK
test_days_in_month ...................... OK
即使第一组字符串长度不同,我希望点填充剩余的空格,OK,语句结束于同一列。我使用的代码看起来像这样
import sys
passed = '................... OK'
failed = '................... FAILED'
print('{:30s}{}'.format('test_integer_to_month', passed))
print('{:30s}{}'.format('test_month_to_integer', passed))
print('{:30s}{}'.format('test_abbreviated_int_to_month', passed))
print('{:30s}{}'.format('test_days_in_month', passed))
但是,我得到以下输出
test_integer_to_month ................... OK
test_month_to_integer ................... OK
test_abbreviated_int_to_month ................... OK
test_days_in_month ................... OK
有没有办法可以使用格式语句用'.'
填充X个空格,使得该行在描述性字符串后面开始一个空格?
答案 0 :(得分:1)
如果您将总字符数固定在一行中,则会执行以下操作:
\health
答案 1 :(得分:1)
passed = 'OK'
failed = 'FAILED'
padding = ' ' + '.' * 25
print('{:.40s} {}'.format('test_integer_to_month' + padding, passed))
print('{:.40s} {}'.format('test_month_to_integer' + padding, passed))
print('{:.40s} {}'.format('test_abbreviated_int_to_month' + padding, passed))
print('{:.40s} {}'.format('test_days_in_month' + padding, passed))
填充是单个空格,后跟25个句点。
格式模式中的第1个字段设置为40的精度 将削减多余的填充。
输出:
test_integer_to_month .................. OK
test_month_to_integer .................. OK
test_abbreviated_int_to_month .......... OK
test_days_in_month ..................... OK