我有一個名爲「test.py」的腳本,並且引用了一個名爲「cfg.yaml」的配置文件。這兩個駐留在同一個名爲「test/scripts」的目錄中。在Python中使用相對和絕對路徑的困惑
test/scripts/test.py
test/script/cfg.yaml
現在我正在寫「測試/數據1 /數據2」之稱task.sh
從task.sh內內bash腳本,我想要的python腳本
通話test.sh內容如下:
#!/bin/sh
python ../../scripts/test.py
test.py打開和讀取cfg.yaml像打開( 「cfg.yaml」),但是當test.sh被調用時,它失敗,因爲「CFG。 yaml「不被相對pa引用日。我該如何解決這個問題?
1.您可以從test/scripts運行test.py,2.在test.py中,您可以將cfg文件的路徑更改爲'../../scripts/test.py'或3.您可以使用cfg文件的絕對路徑。發生這種情況是因爲python解釋器正在從test/data1/data2中調用 – rivu 2014-12-11 01:00:13
相對路徑是相對於當前工作目錄的,而不是相對於正在執行的文件的位置 – mehtunguh 2014-12-11 02:19:26