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

來源:互聯網
上載者:User

          路徑有兩種,相對路徑和絕對路徑。  對於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這個全域變數組裝出 我們源碼目錄下的任意一個檔案的絕對路徑了!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.