gpt4 book ai didi

python - 在 Python 单元测试和主代码中访问资源文件

转载 作者:太空狗 更新时间:2023-10-29 22:23:44 25 4
gpt4 key购买 nike

我有一个具有以下目录结构的 Python 项目:

project/project/src/project/src/somecode.pyproject/src/mypackage/mymodule.pyproject/src/resources/project/src/resources/datafile1.txt

在 mymodule.py 中,我有一个类(我们称之为“MyClass”)需要加载 datafile1.txt。当我这样做时,这种工作方式:

打开("../resources/datafile1.txt")

假设创建 MyClass 实例的代码是从 somecode.py 运行的。

问题是,我在该文件中定义了 mymodule.py 的单元测试,如果我保留上述相对路径名,则单元测试代码会崩溃,因为现在代码正在从 project/src 运行/mypackage 而不是 project/src 并且相对文件路径无法正确解析。

对于解决此问题的最佳实践类型方法有什么建议吗?如果我将我的测试用例移动到 project/src 中,这会使主源文件夹中的测试用例变得困惑。

最佳答案

我通常使用它从我的模块中获取相对路径。从来没有在单元测试中尝试过。

import os

print(os.path.join(os.path.dirname(__file__),
'..',
'resources'
'datafile1.txt'))

注意:.. 技巧非常有效,但如果您更改目录结构,则需要更新该部分。

关于python - 在 Python 单元测试和主代码中访问资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6629597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com