如何判断一个变量是否在另一个Python文件中存在

7 投票
3 回答
5162 浏览
提问于 2025-04-16 02:19

我有两个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'

这样做只会在变量是全局的情况下有效。如果你想要的是局部变量,那么你需要使用一种叫做反射的技术。

撰写回答