我知道许多问题都存在,但是我似乎找不到适合我所遇到问题的问题。
我有以下内容:
def function():
try:
# function to create a table on hbase
except AlreadyExists, ae:
print "WARN: " + ae.message
当我从另一个python脚本调用它时,它给了我
NameError: global name 'AlreadyExists' is not defined
...但是如果我删除
def function()
并单独运行它,它将起作用并且不会抱怨全局名称。我试着放
global AlreadyExists
,那没有用。我也查看了这个similar problem,但是我不确定如何应用它,因为它可以独立工作(无需导入任何特定的东西,但是一旦将其包装到函数中,它就会失败)。有什么建议么?
最佳答案
Python仅在引发异常时尝试访问该名称。当您在函数外运行代码时,它可能没有引发异常,这就是为什么您认为它起作用。
您需要从任何位置导入AlreadyExists异常。
关于python - NameError:在函数中使用try/except时,未定义全局名称“AlreadyExists”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7720291/