[英]'No such file or directory' error when using nosetests
我有一個小 Python 項目,我最近制作了一個 Conda package。 制作 package 本身就很痛苦,然而,我最近開始使用鼻子測試對此進行測試,這使得它變得更加困難。
介紹一下:我的 package 接受一定的輸入,執行大量(量子化學)計算,然后在與調用 package 的腳本相同的目錄下生成一個文件夾,其中包含 Z78E6221F6393D13568D 和 datasome.png 文件(文件)二進制文件)
使用鼻子測試,我想檢查這些 output 文件是否應該是這樣的。 我創建了一個 Python 測試腳本(使用 unittest)創建輸入並調用我的 package。 接下來,它導入創建的文件和測試文件。 然而,這就是它出錯的地方。 我收到此文件不存在的錯誤:
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()
有誰知道這里出了什么問題? 我認為這與測試是在測試環境中執行的事實有關。 在這種情況下:如何導入我的文件?
獲取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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.