我已经阅读了有关此错误的几篇文章,但我仍然不明白我做错了什么。
我把它放在一个最小的例子中:假设我有一个 Doc.py,以及包含 Tool1.py 和 Tool2.py 的包 Tools。
文档.py:
from Tools import *
import sys
def __main__():
TOOL_REPORT("Tool1","Test")
def TOOL_REPORT(tool, path):
if(tool == 'Tool1'):
Tool1.REPORT(path)
elif(tool == 'Tool2'):
Tool2.REPORT(path)
else:
sys.stderr.write("This tool is not yet included in Doc. Please check TOOLS for more information.")
if __name__=="__main__": __main__()
工具1.py:
def REPORT(path):
print("Tool1 "+path)
工具2.py:
def REPORT(path):
print("Tool2 "+path)
如果我运行它,我总是会遇到这个错误:
TOOL_REPORT 中的文件“Doc.py”,第 15 行
Tool1.REPORT(路径)
NameError:未定义全局名称“Tool1”
我会很感激任何提示出了什么问题!