给出“datetime.datetime.now()”的python ast.literal_eval抛出格式错误的字符串错误

时间:2017-12-29 16:19:30

标签: python

我需要在分配之前评估字符串,所以我使用的是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()')

结果:

  

格式错误的字符串

1 个答案:

答案 0 :(得分:1)

ast.literal_eval文件清楚地说:

  

安全地评估表达式节点或包含Python文字或容器显示的字符串。

     

提供的字符串或节点 包含以下Python文字结构:字符串,字节,数字,元组,列表,字符串,集合,布尔值和无。