'No such file or directory' 使用 nosetests 时出错
'No such file or directory' error when using nosetests
我有一个小 Python 项目,我最近制作了一个 Conda 包。制作这个包本身就很痛苦,但是,我最近开始使用 nosetests 添加测试,这使得它变得更加困难。
介绍一下:我的包接受一定的输入,执行大量(量子化学)计算,然后在与调用包的脚本相同的目录中生成一个文件夹,包含输出数据(一些 .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 提示符中通过 运行 调用 nose:
project-path> nosetests tests
我在 Python 测试脚本中导入文件使用:
result_file = open('results\output.txt', 'r').read()
有人知道这里出了什么问题吗?我认为这与测试是在测试环境中执行的事实有关。在那种情况下:如何导入我的文件?
得到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()
我有一个小 Python 项目,我最近制作了一个 Conda 包。制作这个包本身就很痛苦,但是,我最近开始使用 nosetests 添加测试,这使得它变得更加困难。
介绍一下:我的包接受一定的输入,执行大量(量子化学)计算,然后在与调用包的脚本相同的目录中生成一个文件夹,包含输出数据(一些 .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 提示符中通过 运行 调用 nose:
project-path> nosetests tests
我在 Python 测试脚本中导入文件使用:
result_file = open('results\output.txt', 'r').read()
有人知道这里出了什么问题吗?我认为这与测试是在测试环境中执行的事实有关。在那种情况下:如何导入我的文件?
得到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()