歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python怎樣得到資源文件的絕對路徑

Python怎樣得到資源文件的絕對路徑

日期:2017/3/1 10:02:58   编辑:Linux編程

路徑有兩種,相對路徑和絕對路徑。 對於Unix-Like系統來說,絕對路徑就是以/開頭的路徑。 相對路徑就是不以/開頭的路徑。

其實,操作系統中實際只有一種路徑,那就是絕對路徑。 相對路徑,只是程序自己幫我們修改為絕對路徑了。

操作系統的程序運行器利用環境變量,為我們把相對路徑生成為絕對路徑。getcwd()函數用於得到當前進程的當前工作路徑。也就是相對路徑的起始點。

在python中,可以使用os.chdir函數切換當前工作路徑。

當前工作路徑,是程序執行時所在的路徑。 我們在哪個目錄下執行程序,當前路徑就是哪一個目錄。

我們常常需要在python中執行一些源碼目錄下的文件。如,我們可能需要用eval動態執行一個python源文件。或者copy一些配置文件到目標系統的路徑下。此時,我們無法知道這些文件的絕對路徑,因為我們不能預知用戶會把我們的程序安裝到哪一個目錄下。

我們也不能依賴於當前工作路徑。因為用戶很可能不在我們的源碼目錄下執行我們的程序。

那麼,此時我們如何得到源碼目錄下文件的絕對路徑呢?

我是這樣做的:

ABSPATH=None

if __name__ == '__main__':

ABSPATH=os.path.abspath(sys.argv[0])

ABSPATH=os.path.dirname(ABSPATH)+"/"

print ABSPATH

通過拿到第一個參數的絕對路徑,我們就知道了程序所在的絕對路徑,我們就能夠使用ABSPATH這個全局變量組裝出 我們源碼目錄下的任意一個文件的絕對路徑了!

Copyright © Linux教程網 All Rights Reserved