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

时间:2012-10-31 10:04:31

标签: python pep8 continuation

我根据PEP8格式化我的代码,但我有一点问题;就是这样:

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

如何将其分成72-79个字符的行?

5 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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'))

答案 2 :(得分:1)

我更喜欢:

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

请注意,只要整个表达式都在大括号中,就不需要行连续符号。

在我看来,

临时变量 suck 会降低可读性。

OP的更新:我修改了你的答案如下:

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

答案 3 :(得分: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))

答案 4 :(得分:0)

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