我很难理解python中的模块布局。这是我的目录/文件结构
Project2.1/
├── project2
│ ├── data_mining
│ │ ├── process.py
│ │ └── __init__.py
│ └── __init__.py
└── tests
├── data
│ └── data.csv
├── data_mining
│ ├── __init__.py
│ └── test_process.py
└── __init__.py
文件test_process.py,包含以下导入
from project2.data_mining.process import ClassP
在Project2.1
目录下使用以下命令运行文件tests/data_mining/test_processes .py$ cd Project2.1
$ python3 tests/data_mining/test_process.py
生成错误
File "tests/data_mining/test_process.py", line 7, in <module>
from project2.data_mining.process import ClassP
ModuleNotFoundError: No module named 'project2'
ClassP是project2/data_mining/process.py中的一个类
由于您在测试文件夹的data_mining目录中,只能直接访问data_mining文件夹中的文件,并且您不能使用from
键入模块的路径,因此您需要添加project2
的data_mining文件夹的路径,因此获得(project2)的data_mining的确切路径
和
import sys
sys.path.append(exact path)
from process import ClassP
这将附加该文件夹的路径,并使import system
可以访问其中的所有文件也要记住,在导入时不要使用.py
或任何扩展名它就像导入任何其他模块from random import randint
一样,例如
: D