2017-06-20 64 views
0

我有一個項目,我們說叫'my_project'結構如下:包含在config.jsontests.py蟒蛇TOX - 沒有這樣的文件或目錄錯誤

my_project 
| 
tox.ini 
setup.py 
src 
| 
    client.py 
    server.py 
    config.json 
    # other files 
    tests.py 

在文件client.pyserver.py利用信息定義的類實現py.test測試文件夾src中的每個文件。客戶端/服務器文件裏面我讀的配置文件如下:

with open('./config.json') as infile: 
    self.parameters = json.load(infile) 

接下來,我創建了一個tox.ini文件,如下所示:

[tox] 
envlist = py27,cov 

[testenv] 
#commands = py.test --cov=src/client.py src/tests.py -v 
commands = py.test -sv --doctest-modules src/__init__.py src/tests.py 


[testenv:py27] 
commands = coverage erase 
      coverage run --source=src -m pytest 
      coverage report -m 
deps = pytest 

但是當我運行tox命令我得到一個錯誤:"No such file or directory: 'config.json'"。我如何設置正確的路徑以確保tox可以找到所有必需的文件?

回答

2

試圖打開'./config.json'將始終使Python在進程的當前目錄中查找;這就是文件路徑的工作方式。如果你要打開的文件config.json在同一目錄.py文件正在做開,你需要包括含有.py文件的目錄的路徑:

with open(os.path.join(os.path.dirname(__file__), 'config.json')) as infile: 
相關問題