Github测试找不到文件



我有一个"models"文件夹,其中我有用于单元测试的不同模型。文件层次结构如下

- test
- models
- nn_class.sav
- nn_reg.sav
- test_model

我运行test_model,里面有单元测试。当我读取文件nn_class.sav时,通过给出路径"./models",它可以完美地工作。然而,当我尝试在Github上运行相同的测试时,它会抛出文件未找到的错误.我必须使用这个,所以它可以在两个环境中找到文件。

model_name = 'nn_class.sav'
if os.path.isdir('./models'):
path = './models/'
else:
path = 'test/models/'

是否有一个好的优雅的方法来处理这个问题。有人向我建议固定装置,我不知道他们是否有用。

不是一个整洁的方法,最好避免这样的技巧,但尝试做

import sys
sys.path.insert(0, '.') 

在您的test_model文件的开始,它将使用根作为运行路径的情况。然后你可以使用相对路径到根目录。或者任何文件夹,只需将.更改为您需要的路径。

请参阅此处回复的评论,为什么最好避免此类技巧:https://stackoverflow.com/a/448279/2957102