Python 多重导入
目录结构如下:
├─Solution
│ │─Module
│ │ ├─Submodule
│ │ │ │─__init__.py
│ │ │ └─submodule.py
│ │ └─module.py
│ │──main.py
其中 module.py
需要可以在命令行单独运行,使用了 if __name__=="__main__":
读取参数然后再传给其 main
main.py
里 from Module import module
,module.py
里 from 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
的方法,不胜感激
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
那么直接导入是没有问题的:
而运行时,module.py的环境是main.py同级环境,因此:
当然,为了避免如此麻烦,可以通过相对导入: