Как ограничить длину сложной строки в 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'))