为什么只能通过repr
方法来实现?
import datetime
d=datetime.datetime.now()
x=str(d)
y=eval(x)
print(y)
正在显示
SyntaxError: invalid token
答案 0 :(得分:0)
调用str(datetime.datetime.now())
时,会得到一个表示当前时间的字符串,例如2019-07-08 19:32:04.078030
。
但是当调用repr(datetime.datetime.now())
时,将返回datetime对象的实际格式。像datetime.datetime(2019, 7, 08, 19, 32, 4, 78030)
之类的东西。
eval()
将字符串评估为python函数。由于2019-07-08 19:32:04.078030
不是python命令,因此会出现错误。 datetime.datetime(2019, 7, 08, 19, 32, 4, 78030)
是python命令并已执行。
所有可以使用的程序都是
使用str()
:
import datetime
d=datetime.datetime.now()
x=str(d)
print(x)
使用repr()
:
import datetime
d=datetime.datetime.now()
x=repr(d)
y=eval(x)
print(y)