我需要创建一个程序来查找.py文件的所有变量(全局变量和局部变量)并打印它们。 但是我不知道如何在另一个.py文件上使用函数dir()或global()/local()来搜索变量
你能帮我吗? def IdentificationVariables(名称):
file = open (name,'r')
variablesStr = "The variables on code are: \n"
contL=0
for linea in file:
contL = contL + 1
pos = linea.find(str(dir()))
#No se donde meter el for para pegarlo con el po
if(pos>-1):
variablesStr += linea[pos+1:len(linea)] + ": line " + contL
file.close()
print(variablesStr)
您想编写“一个查找所有变量的程序”。我想提前警告您,如果您关心彻底性,Python将使这变得异常困难。如果你不是,就像你只是在寻找最常见的
foo = "bar"
,很好:你可以使用类似ast.parse的东西来寻找变量赋值,这可能会让你达到99%的效果但如果您的目标是在模块中找到每个变量,请考虑这个片段:
寻找变量赋值的方法不会发现这一点。另外,考虑给定的模块可能有其他变量设置的变量:
这对于用作配置设置等存储的模块来说并不少见
相关问题 更多 >
编程相关推荐