首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nosetests时出现“没有这样的文件或目录”错误

使用nosetests时出现“没有这样的文件或目录”错误
EN

Stack Overflow用户
提问于 2021-03-09 20:09:55
回答 1查看 151关注 0票数 1

我有一个小的Python项目,最近我做了一个Conda包。制作包本身是一件痛苦的事情,然而,我最近开始使用nosetest添加测试,这使得它变得更加困难。

简介:我的包接受一定的输入,执行大量(量子化学)计算,然后在调用包的脚本所在的目录中生成一个文件夹,其中包含输出数据(一些.png文件、.txt文件和二进制文件)

使用nosetests,我想检查这些输出文件是否是它们应该的样子。我创建了一个Python测试脚本(使用unittest),它创建输入并调用我的包。接下来,它导入创建的文件和测试文件。然而,这就是它出错的地方。我得到这个文件不存在的错误:

代码语言:javascript
复制
FileNotFoundError: [Errno 2] No such file or directory: 'results\\output.txt'

该目录如下所示:

代码语言:javascript
复制
project-path\
- tests\
  - test-script.py
  - results\
    - output.txt

我通过在Anaconda提示符中运行以下命令来调用鼻部:

代码语言:javascript
复制
project-path> nosetests tests

我使用以下命令在Python测试脚本中导入该文件:

代码语言:javascript
复制
result_file = open('results\\output.txt', 'r').read()

有人知道这里出了什么问题吗?我认为这与测试是在测试环境中执行的事实有关。在这种情况下:如何导入我的文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-09 20:37:38

获取output.txt的绝对路径,这确实是定位和打开它的最可靠的方法。

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66546626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档