我有两个Python文件。从Python文件#1开始,我想检查Python文件#2中是否定义了某个全局变量。
最佳方法是什么?
最佳方法是什么?
您可以直接测试file2
模块(一个模块对象)是否具有正确名称的属性:
import file2
if hasattr(file2, 'varName'):
# varName is defined in file2…
try:
from file import varName
except ImportError:
print 'var not found'
或者你可以这样做(如果你已经导入了文件):
import file
# ...
try:
v = file.varName
except AttributeError:
print 'var not found'
只有当变量是全局的时,这个方法才可行。如果你想使用局部变量,那么你需要使用内省。
try
块中只有一行代码,那么这是不可能的。你正在错误地进行调试。 - Yuval Adam
try
解决方案是正确的选择。 - Eric O. Lebigot