Python 子模块导入
Python sub module import
假设我有一个带有 GUI 的应用程序。
文件夹结构为:
\project
run.py
gui.py
\tracker
tracker.py
trackerdialog.py
trackerDB.py
run.py 是主要的应用程序入口点。它导入了一堆包,包括“import tracker.tracker”
在我处理 tracker.py 时,tracker.py 显示:
import trackerDialog, trackerDB
当我 运行 tracker.py 时,一切正常,但当我从 run.py 导入跟踪器时。 run.py 错误“没有名为 trackerDialog 的模块”
导入此子模块的正确方法是什么,以便我可以将其隔离为 tracker.py 进行测试,但仍然 run.py 能够导入它?
基于主程序的工作目录
from tracker import trackerdialog, trackerDB
您可能还需要编写一个字面命名为 __init__.py
的文件(它不需要任何内容),以将目录 ./tracker
标记为包含 Python 库(更多内容:What is __init__.py for? )
要将文件用作目录中的既库又还直接运行使用文件,请考虑
- 在根目录中创建一个专用的 运行ner
- try/excepting
ImportError
try:
from tracker import trackerdialog, trackerDB
except:
import trackerDialog, trackerDB
假设我有一个带有 GUI 的应用程序。
文件夹结构为:
\project
run.py
gui.py
\tracker
tracker.py
trackerdialog.py
trackerDB.py
run.py 是主要的应用程序入口点。它导入了一堆包,包括“import tracker.tracker”
在我处理 tracker.py 时,tracker.py 显示:
import trackerDialog, trackerDB
当我 运行 tracker.py 时,一切正常,但当我从 run.py 导入跟踪器时。 run.py 错误“没有名为 trackerDialog 的模块”
导入此子模块的正确方法是什么,以便我可以将其隔离为 tracker.py 进行测试,但仍然 run.py 能够导入它?
基于主程序的工作目录
from tracker import trackerdialog, trackerDB
您可能还需要编写一个字面命名为 __init__.py
的文件(它不需要任何内容),以将目录 ./tracker
标记为包含 Python 库(更多内容:What is __init__.py for? )
要将文件用作目录中的既库又还直接运行使用文件,请考虑
- 在根目录中创建一个专用的 运行ner
- try/excepting
ImportError
try: from tracker import trackerdialog, trackerDB except: import trackerDialog, trackerDB