【问题标题】:Missing one space in python string formatpython字符串格式缺少一个空格
【发布时间】: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 STATUSFSDB STATUS 也是如此,即 20 个空格加 1 个空格,然后打印 FSDB STATUS 但正如您所看到的其余行只有 20 个空格,即在 CleanFSDB missing 或其他表之间条目虽然我所有的间距都相同

【问题讨论】:

    标签: python string file format


    【解决方案1】:

    这一行:

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

    末尾需要一个空格,以与其他行保持一致。我假设该行处于循环中。

    【讨论】:

    • 天哪。太感谢了。这件小事让我发疯了,我在想字符串字符的结尾等。面对手掌的时刻。我怎么能错过这个东西。
    • @AashishsharmaSharma 全新的视角总是有帮助的。 :)
    猜你喜欢
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2019-05-09
    • 2022-09-27
    相关资源
    最近更新 更多