我试图计算.py
文件中的关键字,但我编写的代码也在计算字符串中出现的关键字。
如何区分实际关键字和字符串中的关键字?例如:is
、with
和in
是关键字,但您也可以在注释和用户输入字符串中发现这些关键字。这就是我尝试过的:
from collections import Counter
import keyword
count = {}
scode = input("Enter the name of Python source code file name :")
with open(scode,'r') as f:
for line in f:
words = line.split()
for i in words:
if(keyword.iskeyword(i)):
count[i]= count.get(i,0)+1
print(count)
您可以使用} package 将节点转回到源代码,然后计算关键字:
ast.parse
来解析代码,创建一个ast.NodeTransformer
子类来清除所有字符串节点(无需清除注释,因为注释已经被ast.parse
自动忽略),安装^{这个输出:
2
(因为只有assert
和False
被算作关键字)相关问题 更多 >
编程相关推荐