列出 python 脚本中使用的所有变量

Ale*_*lex 7 python-2.7

我有一个很长的 python 脚本,我想将它部分导出到较小的脚本中。有没有办法收集脚本特定部分中使用的所有变量?我不想定义所有未用于脚本的变量。例子:

var1 = "folder"
var2 = "something else"
var3 = "another thing"

#part of the script I would like to use seperatly
dosomething(var1,var2)
#end of the part

dosomethingelse(var3)
Run Code Online (Sandbox Code Playgroud)

有没有办法将 var1 和 var2 列为我的脚本的一部分,而不是 var3,因为我的新子集脚本不需要它?

use*_*863 5

您可以使用 locals() 函数来确定在命名空间中声明了哪些变量.. 即

a = 1
b = 2
print(locals().keys())
c = 3
d = 4
print(locals().keys())
Run Code Online (Sandbox Code Playgroud)

输出

['a', 'b', ' builtins ', ' file ', ' package ', ' name ', ' doc ']

['a', 'c', 'b', 'd', ' builtins ', ' file ', ' package ', ' name ', ' doc ']