python 实现global
目录结构
├── bin
│ ├── run.py
├── controller
│ ├── base.py
│ ├── glo.py
│ ├── test
│ │ └── test.py
│ └── test2
│ └── test2.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
# -*- 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')