我需要在分配之前评估字符串,所以我使用的是eval。但我读eval不好用,而是使用ast.literal_eval。但是当使用ast.literal_eval时,我收到格式错误的字符串错误。
import datetime
x = eval('datetime.datetime.now()')
print x
结果:
2017-12-29 11:15:22.191322
代码为Ast
import datetime
import ast
x = ast.literal_eval('datetime.datetime.now()')
结果:
格式错误的字符串
答案 0 :(得分:1)
ast.literal_eval
文件清楚地说:
安全地评估表达式节点或包含Python文字或容器显示的字符串。
提供的字符串或节点仅 包含以下Python文字结构:字符串,字节,数字,元组,列表,字符串,集合,布尔值和无。