您好,我正在尝试格式化字符串,并且以某种方式我缺少1个空格。我知道它看起来微不足道,有些人可能会说它只有1个空格,但我想看看我在想什么。

file_out=open("Check.log","w")
file_out.write("{0:12} {1:20} {2:30}\n".format("TUPLE","LOGFILE STATUS","FSDB STATUS"))
file_out.write("{:12} {:20}".format((tuple_id+number),"Clean"))
file_out.write("{:30}\n".format("FSDB missing"))
file_out.write("{:12} {:20} {:30}\n".format(tuple_id,"Missing","Not Applicable"))


请参阅这只是部分代码,仅用于解释问题。完整的输出如下

TUPLE        LOGFILE STATUS       FSDB STATUS
1234567_2    Clean               FSDB missing
1234556      Clean               FSDBs dumped successfully
1234567_5    Not Clean           FSDB missing
1234567_4    Not Clean           FSDB missing
1234567_1    Clean               FSDBs dumped successfully
1234567      Missing              Not Applicable


我数了数。在第一行中,从“ T”到“ L”之前的2个空格,然后是12个空格,然后是1个空格,然后开始LOGFILE STATUS,因此从本质上讲,它给占位符提供12个字符,然后以1个空格开始新单词。对于LOGFILE STATUSFSDB STATUS,也是如此,即20个空格加1个空格,然后打印FSDB STATUS,但是正如您看到的其余行,只有20个空格,即CleanFSDB missing或另一个表之间尽管我对所有条目都有相同的间距

最佳答案

这行:

file_out.write("{:12} {:20} ".format((tuple_id + number), "Clean"))
# _________________________^ you're missing this one


末尾需要一个空格,以便与其他行保持一致。我认为这条线是循环的。

关于python - python字符串格式缺少一个空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45181870/

10-12 23:19