我创建了一个Python包和一些子模块,就像Python模块文档一样。这是我的文件和文件夹。
sounds/
├── __init__.py
├── main.py
├── formaters
│ ├── __init__.py
│ └── items.py
# sounds/formaters/items.py
format_list = ['svg','png','jpg']
# sounds/main.py
from sounds.formaters import items
print(items.format_list)
然后运行下面的命令:
python3 main.py
# and I tested
python3 sounds/main.py
但是我得到了下面的错误
Traceback (most recent call last):
File "/home/user/sounds/main.py", line 1, in <module>
from sounds.formaters import items
ModuleNotFoundError: No module named 'sounds'
我的结构和代码有什么问题?我哪里出错了?我研究了很多关于python包、模块和导入的博客。它们都实现了相同的结构。
您实际上正在尝试访问声音目录从声音注意,main.py
位于sounds目录中,所以只需替换
# sounds/main.py
from sounds.formaters import items
print(items.format_list)
# sounds/main.py
from formaters import items
print(items.format_list)