python3.5 - Python 多重导入
天蓬老师
天蓬老师 2017-04-18 09:49:47
[Python讨论组]

目录结构如下:

├─Solution
│  │─Module
│  │   ├─Submodule
│  │   │  │─__init__.py
│  │   │  └─submodule.py
│  │   └─module.py
│  │──main.py

其中 module.py 需要可以在命令行单独运行,使用了 if __name__=="__main__": 读取参数然后再传给其 main

main.pyfrom Module import module
module.pyfrom Submodule import submodule
预期使用方法是 module.main(args)

报错如下:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from Module import module
  File "module.py", line 21, in <module>
    from Submodule import submodule
ImportError: No module named 'Submodule'

main.py 放到 Module 目录下可以导入,感觉是路径的问题……不知道有没有不用 sys 的方法,不胜感激

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
迷茫

那么直接导入是没有问题的:

from Module import module

而运行时,module.py的环境是main.py同级环境,因此:

from Module.Submodule import submodule

当然,为了避免如此麻烦,可以通过相对导入:

shell> touch Solution/Module/__init__.py
shell> vim module.py
      from .Submodule import submodule
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号