python - python字符串格式缺少一个空格

标签 python string file format

您好,我正在尝试格式化字符串,但不知何故缺少 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/

相关文章:

c++ - fstream中怎么写?

python - 如何获得列表的所有组合?

python - 如何创建一个函数来计算每个元素等于其右侧 2 个元素的次数

python - 从 python 访问 C 结构

python - 从文本文件打印多行

c++ - 将 std::string 传递给 C 风格的 API 是否安全?

java - 什么是 Ljava.lang.String;@

可以列出给定路径内的文件和文件夹的 Linux 内核模块

java - 从Java中的字符串中删除字符

Linux cron 作业覆盖文件