python 獲取專案根目錄路徑工具類封裝

2021-10-09 03:14:02 字數 1356 閱讀 3559

專案很多地方都用了路徑變數或引數,部署在不同裝置上專案各檔案的相對路徑雖沒有變,但絕對路徑卻始終在變化,簡單粗暴的方式可以find專案名字獲取專案路徑拼接獲取專案根目錄和其他檔案目錄,但希望可以有更文明的方式去獲取專案的根目錄,進而拼接相對路徑,獲取到絕對路徑。

#!/usr/bin/python3

# -*- coding: utf-8 -*-

# project_name: autorunner

# author : holidaylzz

# time : 2019/11/13

import sys

import os

class pathutils(object):

"""path utils

"""def __init__(self):

# 判斷除錯模式

# python獲得一些有關系統的各種資訊的時候就不得不想到os的environ()

debug_vars = dict((a, b) for a, b in os.environ.items() if a.find('ipythonenable') >= 0)

# 根據不同場景獲取根目錄

if len(debug_vars) > 0:

# 當前為debug執行時

self.rootpath = sys.path[2]

elif getattr(sys, 'frozen', false):

# 當前為exe執行時

self.rootpath = os.getcwd()

else:

# 正常執行

self.rootpath = sys.path[1]

# 替換斜槓

# self.rootpath = self.rootpath.replace("\\", "\")

def make_project_dir(self, directory):

"""在專案中建立檔案目錄,已建立則忽略

:param directory:專案檔案目錄

:return:

"""os.makedirs('%s/%s' % (self.rootpath, directory), exist_ok=true)

def get_project_abspath(self, *path):

"""獲取專案檔案目錄

:param path:

:return:

"""return os.path.join(self.rootpath, *path)

# 單例模式呼叫路徑工具類

pathutil = pathutils()

python 獲取專案根目錄

感謝大佬的blog 獲取專案根目錄方法之一,一會有別的方法再更新 windows import os curpath os.path.abspath os.path.dirname file rootpath curpath curpath.find myproject len myproject ...

C 獲取專案根目錄

c 獲取專案根目錄,以下圖專案為例,要定位到目錄tmp中,下面為參考 獲取根目錄測試 directoryinfo rootdir directory.getparent environment.currentdirectory string root rootdir.parent parent fu...

Freemarcker獲取專案根目錄

現在知道了freemarker模板技術,發現在用freemarker之後引入到檔案中的css和js檔案都沒有起作用,在jsp頁面中還可以用 來設定絕對路徑,請問怎麼樣在ftl檔案中設定標籤的值?還有,生成靜態頁面之後怎麼樣顯示使用者登陸了的資訊?全部採用絕對定位即可,比如我的使用,在乙個全域性mac...