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-03
Win10下python 2.7.13 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

