例如::
>>> import ast
>>> print(type(ast.parse('1.2', mode='eval').body.n)
float
如何让解析器将 python 源文件转换为语法树,同时保留str
类型中节点的原始值?因为我需要使用尽可能精确的分数将例如 '1.2' 转换为精确值,而不会丢失任何精度(值 1.2 不能以浮点格式精确表示)。
最好我希望在不重新实现解析器的情况下这样做。ast
也许有其他解析器比模块更适合这个。
顺便说一句,我不仅需要解析表达式,还需要解析程序。