我在Cygwin的命令提示符下運行python(2.7)。我通常將一個文件名傳遞給我的python代碼,並用以下命令檢索文件名:sys.argv [1]。我打開之前讓python檢查文件的存在(使用os.path.exists)。python:找不到當前目錄以外的文件
即使我將文件指定爲「../dir1/dir2/file_name」,這也起作用。截至今天,如果文件名包含路徑,Python無法找到任何文件(即使它們都在那裏)。
例如:在目錄中的prog.py稱爲DIR_1
python prog.py file.txt :::: works OK
python prog.py ../dir_1/file.txt :::: Fails
>pwd
......../dir_1
我不斷收到「沒有這樣的文件或目錄」錯誤。我得到Python打印出它正在尋找的文件,它有一切OK(但它已經把../ etc變成了一個absloute路徑名)。
我有一種感覺soemthing可能有損壞的地方。有任何想法嗎?
拉斯
您可能需要發佈一些圍繞此錯誤或至少回溯的代碼。正如@squiguy所建議的,你必須做一些事情來調用exists() – jdi
我安裝了Cygwin並測試了它,它似乎處理相對路徑就好了。我可以在'../../ file.txt'上成功使用'os.path.exists',並且我也可以使用這種表示法來打開它。你可能想檢查你的cygwin版本或其他東西。這個問題太模糊,不可重複。你可以用一個如何重現問題的實例來更新你的問題嗎? – jdi