【发布时间】:2017-07-19 05:46:46
【问题描述】:
您好,我正在尝试格式化字符串,但不知何故我缺少 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 或其他表之间条目虽然我所有的间距都相同
【问题讨论】: