python代码格式化:如何避免字符串中被断路器"\"切断的额外空格

nye*_*e17 1 python coding-style

我在我的python代码中每行严格强制执行80个字符,但偶尔我必须将一行字符串分成两行,如下所示

print time.strftime("%m/%d/%Y %I:%M:%S \
    %p",time.localtime(os.path.getmtime(fname)))
Run Code Online (Sandbox Code Playgroud)

在这种情况下,输出将在"AM/PM"前面有额外的空格,如

foo.dat was last modified: 01/10/2012 02:53:15                    AM
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法来解决这个问题,只是为了避免切断弦,或者在这种情况下允许长线,但是,我想知道是否还有其他更多的内在方法来解决这个问题,同时允许str-cutting和line-breaking发生.第二行由编辑器自动缩进,我也不想改变它.谢谢.

Mik*_*one 7

建议的方法是避免\使用括号来完全使用.另外,使用连续字符串连接成一个字符串的事实.例如:

print time.strftime(("%m/%d/%Y %I:%M:%S "
    "%p"), time.localtime(os.path.getmtime(fname)))
Run Code Online (Sandbox Code Playgroud)

  • 你甚至不需要字符串周围的额外parens. (4认同)