您好,我正在尝试格式化字符串,但不知何故缺少 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 STATUS
和 FSDB STATUS
也是如此,即 20 个空格加 1 个空格,然后它会打印 FSDB STATUS
但正如您所看到的其余行只有 20 个空格,即 Clean
和 FSDB 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/