Я понимаю, что цель repr()
- вернуть строку, которую можно использовать для оценки как команды python, и вернуть тот же объект.К сожалению, pytz
, похоже, не очень дружит с этой функцией, хотя это должно быть довольно легко, поскольку pytz
экземпляры создаются с помощью одного вызова:
import datetime, pytz
now = datetime.datetime.now(pytz.timezone('Europe/Berlin'))
repr(now)
возвращает:
datetime.datetime(2010, 10, 1, 13, 2, 17, 659333, tzinfo=<DstTzInfo 'Europe/Berlin' CEST+2:00:00 DST>)
, который нельзя просто скопировать в другое окно ipython и оценить, потому что он возвращает синтаксическую ошибку для атрибута tzinfo
.
Есть ли какой-либо простой способ дать ему напечатать:
datetime.datetime(2010, 10, 1, 13, 2, 17, 659333, tzinfo=pytz.timezone('Europe/Berlin'))
, когда строка 'Europe/Berlin'
уже отчетливо видна в исходном выводе repr()
?