Как ограничить длину сложной строки в Python?

Я форматирую свой код в соответствии с PEP8, но у меня есть небольшая проблема; это оно:

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

Как разбить его на строки с 72-79 символами?

5 ответов

Решение
from datetime import datetime

dt = datetime.fromtimestamp(int(stats_dict["db_update"]))
print("DB Updated: " + dt.strftime('%a %b %d %H:%M:%S %Y'))
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)

Я бы предпочел:

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

Обратите внимание, что вам не нужны символы продолжения строки, если все выражение в скобках.

Временные переменные отстой уменьшают читабельность, на мой взгляд.

Обновление OP: я изменил ваш ответ следующим образом:

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

dt = datetime.fromtimestamp(int(stats_dict["db_update"]))
print("DB Updated: {:%a %b %d %H:%M:%S %Y}".format(dt))
print ("DB Updated: " + datetime.datetime.fromtimestamp(\
     int(stats_dict["db_update"]))\
     .strftime('%a %b %d %H:%M:%S %Y'))
Другие вопросы по тегам