Есть несколько сообщений об этой ошибке, которую я уже прочитал, но я все еще не понимаю, что я делаю неправильно.Ошибка "Global name not defined"
Я ввел его в минимальный пример: Представьте, что у меня есть Doc.py и пакет Tools, который включает Tool1.py и Tool2.py.
Doc.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__()
Tool1.py:
def REPORT(path):
print("Tool1 "+path)
Tool2.py:
def REPORT(path):
print("Tool2 "+path)
Если я запускаю это, я всегда в конечном итоге с этой ошибкой:
File "Doc.py", line 15, in TOOL_REPORT
Tool1.REPORT(path)
NameError: global name 'Tool1' is not defined
Буду признателен за то, что происходит не так!
Спасибо, импорт их в файл __init__ сделал трюк! – skymningen