我想解析一个Python字符串(或对象),并从中提取它的“部分”。
例如,给出以下内容:
def foo():
xs = [x ** x
for x in range(100)
if x % 2
]
for x in xs:
print x
print 'cool'
我希望能够将其解析为如下表达式:
1. xs = [x ** x
for x in range(100)
if x % 2
]
2. for x in xs:
3. print x
4. print 'cool'
通过谷歌搜索,我发现了 inspect
模块,它可以通过 getsourcelines
将对象转换为其源代码,但它与 python 语法完全无关。我正在寻找可以解析表达式的东西。
- 这可能吗?
- 有图书馆可以做到这一点吗?
最佳答案
Python 在 ast 中内置了一个解析器模块。它不会以您想要的形式准确返回您想要的内容,但是ast.parse()方法为您返回一个抽象语法树,您可以通过它构建您正在寻找的内容,只需付出一点努力。
关于python - 是否可以用python解析python并提取可执行表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29482922/