我有一个小的Python项目,最近我做了一个Conda包。制作包本身是一件痛苦的事情,然而,我最近开始使用nosetest添加测试,这使得它变得更加困难。
简介:我的包接受一定的输入,执行大量(量子化学)计算,然后在调用包的脚本所在的目录中生成一个文件夹,其中包含输出数据(一些.png文件、.txt文件和二进制文件)
使用nosetests,我想检查这些输出文件是否是它们应该的样子。我创建了一个Python测试脚本(使用unittest),它创建输入并调用我的包。接下来,它导入创建的文件和测试文件。然而,这就是它出错的地方。我得到这个文件不存在的错误:
FileNotFoundError: [Errno 2] No such file or directory: 'results\\output.txt'该目录如下所示:
project-path\
- tests\
- test-script.py
- results\
- output.txt我通过在Anaconda提示符中运行以下命令来调用鼻部:
project-path> nosetests tests我使用以下命令在Python测试脚本中导入该文件:
result_file = open('results\\output.txt', 'r').read()有人知道这里出了什么问题吗?我认为这与测试是在测试环境中执行的事实有关。在这种情况下:如何导入我的文件?
发布于 2021-03-09 20:37:38
获取output.txt的绝对路径,这确实是定位和打开它的最可靠的方法。
import os, sys
basedir = os.path.dirname(sys.argv[0])
filename = "output.txt"
path = os.path.join(basedir, "results", filename)
result_file = open(path, 'r').read()https://stackoverflow.com/questions/66546626
复制相似问题