try:
from file import varName
except ImportError:
print 'var not found'
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做(如果你已经导入了文件):
import file
# ...
try:
v = file.varName
except AttributeError:
print 'var not found'
Run Code Online (Sandbox Code Playgroud)
这仅在 var 是全局的情况下才有效。如果您在使用作用域变量,则需要使用自省。
您可以直接测试file2模块(它是一个模块对象)是否具有名称正确的属性:
import file2
if hasattr(file2, 'varName'):
# varName is defined in file2…
Run Code Online (Sandbox Code Playgroud)
这可能比try… except…方法更直接和易读(取决于您想如何使用它)。