如何在 Python 中限制复杂行的长度?

3

我正在按照PEP8规范格式化我的代码,但是我遇到了一个小问题,就是:

print ("DB Updated: " + datetime.datetime.fromtimestamp(int(stats_dict["db_update"])).strftime('%a %b %d %H:%M:%S %Y'))

如何将文本分成每行72-79个字符?
5个回答

3
timestamp = int(stats_dict["db_update"])
d = datetime.datetime.fromtimestamp(timestamp)
msg = "DB Updated: {}".format(d.strftime('%a %b %d %H:%M:%S %Y'))
print(msg)

第二行太长了(80个字符)。考虑可能的缩进。 - Lev Lamberov

2
from datetime import datetime

dt = datetime.fromtimestamp(int(stats_dict["db_update"]))
print("DB Updated: " + dt.strftime('%a %b %d %H:%M:%S %Y'))

1

我更倾向于:

print("DB Updated: " + 
    datetime.datetime.fromtimestamp(
        int(stats_dict["db_update"])
    ).strftime('%a %b %d %H:%M:%S %Y')
)

请注意,只要整个表达式在大括号中,您就不需要使用行连续符号。
在我看来,临时变量会降低可读性。
楼主的更新:我已经修改了您的答案如下:
 print("DB Updated: " +
      datetime.datetime.fromtimestamp(
        int(stats_dict["db_update"])).
        strftime('%a %b %d %H:%M:%S %Y'))

这是一团乱麻。要理解它,你需要跳到第三行,然后是第二行,接着是第四行,最后才是第一行。将其与此链接进行比较。 - jfs

1
from datetime import datetime

dt = datetime.fromtimestamp(int(stats_dict["db_update"]))
print("DB Updated: {:%a %b %d %H:%M:%S %Y}".format(dt))

0
print ("DB Updated: " + datetime.datetime.fromtimestamp(\
     int(stats_dict["db_update"]))\
     .strftime('%a %b %d %H:%M:%S %Y'))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接