python 实现超全局变量

python 实现global

目录结构

├── bin
│   ├── run.py
├── controller
│   ├── base.py
│   ├── glo.py
│   ├── test
│   │   └── test.py
│   └── test2
│       └── test2.py

废话不多说直接上代码

  1. glo.py
# -*- coding: utf-8 -*
__author__ = 'zhangkai'


def _init():  # 初始化
    global _global_dict
    _global_dict = {}


def set_value(key, value):
    """ 定义一个全局变量 """
    _global_dict[key] = value


def get_value(key, defValue=None):
    """ 获得一个全局变量,不存在则返回默认值 """
    try:
        return _global_dict[key]
    except KeyError:
        return defValue

  1. run.py
# -*- coding: utf-8 -*
__author__ = 'zhangkai'
import os
import sys

curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

import traceback
import random, string
import datetime
if __name__ == '__main__':
   glo._init()
   # 初始化日志
   glo.set_value('log', open((rootPath + '/log/yiche.log'), 'a', encoding="utf-8"))
   # 初始化APP相关
   glo.set_value('app_name', 'yiche-script')
   # 开始执行时间 方便后续计算执行时间
   glo.set_value('began_time', datetime.datetime.now())
   # 增加唯一请求标识
   s = string.ascii_letters + string.digits
   traceId = ''.join(random.choices(s, k=8))
   glo.set_value('trace_id', traceId)
   # 线程号
   glo.set_value('thread_id', os.getpid())
   
   
   # 获取appname
   appName = glo.get_value('app_name')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值