我想分析一个Python字符串(或对象),并从中提取它的“部分”。是否有可能用python解析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语法。我正在寻找可以解析出表达式的内容。
- 这是可能的吗?
- 有没有图书馆呢?
如果您打开要读取的源代码,您可以保持计数您的缩进程度,并用它来确定新语句的位置。 – RNikoopour