目录结构
test/
__init__.py
line.py
test.py
test.py
from . import line
输出:
Traceback (most recent call last):
File "test.py", line 1, in <module>
from . import line
ImportError: cannot import name 'line'
我知道我可以import line
。但它可能会导入python3中的标准库。
为什么会发生这种错误? python3支持这种语法吗?
ps:我不在交互式控制台中,测试目录已经是一个包
答案 0 :(得分:0)
我不确定您是否可以直接导入与库实用程序同名的模块。但是,您可以考虑将模块放在包中,因此您的目录结构如下所示:
iter()
.
├── main.py
├── package
│ ├── __init__.py
│ ├── line.py
│ ├── test.py
可能有一些设置命令(如果没有,可以省略此文件),在__init__.py
中可以执行以下操作:
main.py
在目录from package import line
...
中,如果您想说,请在package
中导入line.py
,您可以使用以下语法:
test.py
注意相对导入(使用from . import line
表示法)只能在脚本内部工作,而不能在交互式控制台中工作。直接运行from .
(如果它使用相对导入)也不会起作用,但从test.py
导入它将起作用。