HiveNetCore.utils.global_var_tool 源代码
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# Copyright 2022 黎慧剑
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
"""
全局变量工具类
@module global_var_tool
@file global_var_tool.py
"""
import os
import sys
# 根据当前文件路径将包路径纳入, 在非安装的情况下可以引用到
sys.path.append(os.path.abspath(os.path.join(
os.path.dirname(__file__), os.path.pardir, os.path.pardir)))
# 全局变量
# 用于存储全局变量的值
# key为全局变量名( string) , value为全局变量的值
RUNTOOL_GLOBAL_VAR_LIST = dict()
[文档]class GlobalVarTool(object):
"""
全局变量处理类
"""
[文档] @staticmethod
def set_global_var(key, value):
"""
设置全局变量的值, 后续可以通过Key获取到指定的值, 如果如果key存在将覆盖
@param {string} key - 要设置的全局变量key值
@param {object} value - 要设置的全局变量值
"""
global RUNTOOL_GLOBAL_VAR_LIST
RUNTOOL_GLOBAL_VAR_LIST[key] = value
[文档] @staticmethod
def get_global_var(key, default=None):
"""
根据key获取全局变量的值, 如果找不到key则返回None
@param {string} key - 要获取的全局变量key值
@param {object} default=None - 获取不到返回的默认值
@returns {object} - 全局变量的值, 如果找不到key则返回None
"""
global RUNTOOL_GLOBAL_VAR_LIST
if key in RUNTOOL_GLOBAL_VAR_LIST.keys():
return RUNTOOL_GLOBAL_VAR_LIST[key]
else:
return default
[文档] @staticmethod
def del_global_var(key):
"""
删除key值对应的全局变量
@param {string} key - 要删除的全局变量key值
"""
global RUNTOOL_GLOBAL_VAR_LIST
if key in RUNTOOL_GLOBAL_VAR_LIST.keys():
del RUNTOOL_GLOBAL_VAR_LIST[key]
[文档] @staticmethod
def del_all_global_var():
"""
清空所有全局变量
"""
global RUNTOOL_GLOBAL_VAR_LIST
RUNTOOL_GLOBAL_VAR_LIST.clear()