如何判断一个变量是否在另一个Python文件中存在
我有两个Python文件。在第一个Python文件中,我想检查一下第二个Python文件里是否定义了一个特定的全局变量。
这样做的最佳方法是什么呢?
3 个回答
3
使用 getattr()
这个内置函数时,你还可以指定一个默认值,比如这样:
import file2
myVar = getattr(file2, attribute, False)
可以查看 文档 了解更多信息
8
你可以直接检查一下 file2
模块(它是一个模块对象)是否有一个名字正确的属性:
import file2
if hasattr(file2, 'varName'):
# varName is defined in file2…
这种方法可能比 try… except…
的方式更直接,也更容易理解(这要看你想怎么使用它)。
6
try:
from file import varName
except ImportError:
print 'var not found'
另外,如果你已经导入了这个文件,你可以这样做:
import file
# ...
try:
v = file.varName
except AttributeError:
print 'var not found'
这样做只会在变量是全局的情况下有效。如果你想要的是局部变量,那么你需要使用一种叫做反射的技术。