Python子模块导入

预言

可以说我有一个带有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导入tracker时。“没有名为trackerDialog的模块”的run.py错误

导入此子模块的正确方法是什么,以便我可以将其作为tracker.py进行隔离测试,但仍然具有run.py能够导入它的能力?

ti7

从主程序的工作目录中建立它

from tracker import trackerdialog, trackerDB

您可能还需要编写一个字面命名的文件__init__.py(不需要任何内容​​),以将该目录标记./tracker为包含Python库(更多信息:__init__.py的作用是什么?


要使用该文件作为两个库的目录,直接运行它,要么考虑

  • 在根目录中创建专用运行器
  • 尝试/例外 ImportError
    try:
        from tracker import trackerdialog, trackerDB
    except:
        import trackerDialog, trackerDB
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章