python中编译器和ast模块之间的差异

时间:2011-04-10 14:13:28

标签: python

编译器模块已在python 2.6中弃用。 有人知道弃用背后的原因是什么? ast模块是直接替代品吗?请问python 3k中是否支持ast模块?

2 个答案:

答案 0 :(得分:6)

compiler模块是用Python编写的Python编译器。它非常缓慢而且难以维持。

ast模块是解决同一问题的更智能的解决方案:它提供对导入模块时使用的实际编译器的Python级访问。因为它只是内置编译器的可见API,所以它不会去任何地方。

ast不是compiler的替代品(即API不同),但它肯定涵盖了许多相同的用例。

答案 1 :(得分:4)

是的,ast模块取代了compiler模块。你会说“支持”是什么意思? Python 3已经出了多年,当然ast是其标准库的一部分。

可以找到删除的原因here