我想计算一下我编写的所有python代码中变量名的唯一性。为此,我需要去掉所有的关键字和保留字(已知)、注释和字符串。例如,以下代码:
''' long comment '''
for x in range(y, y+foo):
print "Hello", 'world', '''lookout for the # tricky nest''', q # comment
应该被剥离到for, x, in, range, y, foo, print, q
的标记,可以使用一组已知的关键字进一步解析它。这是否可以使用python引擎本身(可能与ast module)一起使用?在
如果您更关心的是获取变量列表,而不是如何去掉所有字符串、注释等,可以尝试以下方法:
打印本地词典或全局词典中显示的任何内容。使用
dir(myobject)
获取myobject
的变量。在https://docs.python.org/3/library/functions.html
这是我第一次使用
ast
模块,但收集源中引用的所有对象名相对容易:其中
^{pr2}$x.py
是:输出:
请注意,关键字还没有包括在内,但它确实提取了函数名
range
。在相关问题 更多 >
编程相关推荐