擅长:python、mysql、java
<p>您可以使用<a href="https://docs.python.org/2/library/ast.html" rel="nofollow">^{<cd1>}</a>库将Python代码解析为语法树,然后遍历解析后的树来查找<code>ListComp</code>表达式。在</p>
<p>下面是一个简单的示例,它打印出在通过stdin传递的Python代码中找到列表理解的行号:</p>
<pre><code>import ast
import sys
prog = ast.parse(sys.stdin.read())
listComps = (node for node in ast.walk(prog) if type(node) is ast.ListComp)
for comp in listComps:
print "List comprehension at line %d" % comp.lineno
</code></pre>