项目很多地方都用了路径变量或参数,部署在不同设备上项目各文件的相对路径虽没有变,但绝对路径却始终在变化,简单粗暴的方式可以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: