2010-07-19 36 views
22

如果我有一個文件test.py駐留在某個目錄中,我怎麼能從test.py找到它在哪個目錄? os.path.curdir將提供當前目錄,但不會提供文件所在的目錄。如果我從某個目錄「foo」調用test.py,os.curdir將返回foo而不是test.py的路徑。找到Python的文件的絕對路徑

謝謝。

回答

17

的答案是使用:

__file__ 

返回一個相對路徑。

os.path.abspath(__file__) 

可用於獲取完整路徑。

0

os.path有很多處理路徑和獲取路徑信息的工具。

特別,你想:

os.path.abspath 
28

下面是如何獲得當前文件的目錄:

import os 
os.path.abspath(os.path.dirname(__file__)) 
+0

這是正確的答案,應該標記爲這樣。 – catalyst294 2017-08-02 19:40:31

1
import os 
dirname, filename = os.path.split(os.path.abspath(__file__)) 
5

的答案至今正確地指出你os.path.abspath,這不正是你要求的工作。但是,不要忘記,在很多情況下,os.path.normpathos.path.realpath在這類任務中也可能非常有用(分別標準化表示和刪除符號鏈接)(無論您的特定用例屬於這些「很多」從我們擁有的缺乏信息當然;-)。