我發現腳本的「當前工作目錄」最初不是腳本所在的位置,而是他/她運行腳本時的用戶。如何處理文件路徑?
如果腳本是在/Desktop/Projects/pythonProject/myscript.py
,但我在我的終端/Documents/Arbitrary
我,當我運行該腳本,那麼這將是它的當前工作目錄,並在open('data.txt')
試圖要給未找到文件,因爲它是不在正確的目錄中查找。
那麼腳本應該如何打開文件,如果它不知道它從哪裏運行?這是如何處理的?
我最初的想法是使用絕對路徑。假設我的腳本需要打開data.txt
,並將其存儲在其包pythonProject
中。那麼我只想說open('/Desktop/Projects/pythonProject/data.txt')
。
但是,如果不修改其中的每條路徑,就無法移動該項目,所以這不可能是正確的解決方案。
或者只是您的答案只是您必須在您運行腳本時腳本所在的目錄中?這似乎也不錯。
有沒有一些簡單的操作,這我沒有想到?您是否應該在腳本的開頭將os.chdir
添加到腳本的位置?
您可以使用'__file__'確定腳本的位置。 – smarx
[我如何獲取當前正在執行的文件的路徑和名稱?](http://stackoverflow.com/questions/50499/how-do-i-get-the-path-and-name當前正在執行的文件) – congusbongus