我仍然对import
这份声明有所了解。如果我在同一级别有 2 个文件夹:
- 源代码
- 测试
如何使py
文件中的test
导入模块src
?有没有更好的解决方案(比如将一个文件夹放在另一个文件夹中?)
我仍然对import
这份声明有所了解。如果我在同一级别有 2 个文件夹:
如何使py
文件中的test
导入模块src
?有没有更好的解决方案(比如将一个文件夹放在另一个文件夹中?)
您想要的代码用于使用 src/module_name.py
from src import module_name
并且根目录在您的 PYTHONPATH 上,例如您从根目录运行
您的目录结构是我使用的,但模型名称来自 src。我从J Calderone 的博客中得到了这个结构
试试这个:
import sys
import os
sys.path.append(os.path.join('..', 'src'))
import module_in_src_folder
编辑以支持任何平台
对于我编写的所有 python 项目,我的情况与 OP 完全相同:
所有模块,无论是在 src 中,还是在 test 中,或者这些模块的子文件夹中,总是使用import
Mark 在他的回答中显示的形式:
from src import module_name
我所做的是编写一个模块,它位于Project Folder
并递归地发现测试文件夹中的所有测试模块,并让 unittest 运行所有这些测试。当 python 在 中运行时Project Folder
,模块是相对于工作目录的。
这意味着测试就像任何其他想要从src
.