|
yunyuyuanJun 7, 2021
1
我测试没报错。
而且 from dir.subdir.b import funB 可以改成 from .subdir.b import funB 。 |
|
DockerfileJun 7, 2021
2
from a import funA 是对的
|
|
pyMoRanJun 7, 2021
3
在 subdir 建个__init__.py 文件
|
|
renmu123Jun 7, 2021 via Android
4
相对导入和绝对导入,你好像忘记添加__init__了
|
|
DockerfileJun 7, 2021
5
|
|
rationa1cuzzJun 7, 2021
6
1 、解释器可以右键文件 mark directory as sources root
2 、大部分 import 异常可以从两个方向看一个是工作路径 import os print os.getcwd() 另一个是__init__.py 的问题 |
|
stay4uJun 8, 2021
7
你说的没太看懂,测试了下你发的代码,报错如下:
Traceback (most recent call last): File "dir/main.py", line 1, in <module> from dir.subdir.b import funB ModuleNotFoundError: No module named 'dir' 这么说吧,文件导入就是告诉系统从哪里找这个文件,Python 中被执行文件也叫入口文件,你执行 main.py ,那这个文件就是入口文件,Python 会自动把这个文件所在文件夹的路径添加都文件搜索路径中,可以打印 sys.path 看一看 那么 from dir.subdir.b import funB 就等同于从 dir 里找名字为 dir 的文件或文件夹,所以就报错 No module named 'dir' |