Python 獲取項目根路徑的代碼
更新時間:2019年09月27日 08:42:31 作者:艮木@
這篇文章主要介紹了Python 獲取項目根路徑的代碼文中通過代碼給大家介紹了Python獲取當(dāng)前目錄和上級目錄,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
在 運(yùn)行,調(diào)試,打包成exe 三個不同場景下獲取跟路徑,用于解決獲取資源文件絕對路徑問題。
工具類代碼如下:
import sys import os class pathutil(object): """路徑處理工具類""" def __init__(self): # 判斷調(diào)試模式 debug_vars = dict((a, b) for a, b in os.environ.items() if a.find('IPYTHONENABLE') >= 0) # 根據(jù)不同場景獲取根目錄 if len(debug_vars) > 0: """當(dāng)前為debug運(yùn)行時""" self.rootPath = sys.path[2] elif getattr(sys, 'frozen', False): """當(dāng)前為exe運(yùn)行時""" self.rootPath = os.getcwd() else: """正常執(zhí)行""" self.rootPath = sys.path[1] # 替換斜杠 self.rootPath = self.rootPath.replace("\\", "/") def getPathFromResources(self, fileName): """按照文件名拼接資源文件路徑""" filePath = "%s/resources/%s" % (self.rootPath, fileName) return filePath PathUtil = pathutil() if __name__ == '__main__': """測試""" # path = PathUtil.getPathFromResources("context.ini") print(PathUtil.rootPath)
知識點擴(kuò)展:Python獲取當(dāng)前目錄和上級目錄
獲取當(dāng)前文件的路徑:
import os print '***獲取當(dāng)前目錄***' print os.getcwd() print os.path.abspath(os.path.dirname(__file__)) # __file__ 為當(dāng)前文件, 若果在ide中運(yùn)行此行會報錯,可改為 #d = path.dirname('.') # 但是改為.后,就是獲得當(dāng)前目錄,接著使用dirname函數(shù)訪問上級目錄 print '***獲取上級目錄***' print os.path.abspath(os.path.dirname(os.path.dirname(__file__))) print os.path.abspath(os.path.dirname(os.getcwd())) print os.path.abspath(os.path.join(os.getcwd(), "..")) print '***獲取上上級目錄***' print os.path.abspath(os.path.join(os.getcwd(), "../.."))
總結(jié)
以上所述是小編給大家介紹的Python 獲取項目根路徑的代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python爬取網(wǎng)頁轉(zhuǎn)換為PDF文件
這篇文章主要為大家詳細(xì)介紹了python爬取網(wǎng)頁轉(zhuǎn)換為PDF文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06關(guān)于python的bottle框架跨域請求報錯問題的處理方法
這篇文章主要介紹了關(guān)于python的bottle框架跨域請求報錯問題的處理方法,需要的朋友可以參考下2017-03-03Win10下python 2.7.13 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09