在python 2.x中的两个不同模块中的两个函数之间共享数据

时间:2016-02-19 05:57:17

标签: python

我知道在python中使用本地线程是可能的,但由于某种原因,我无法找到实现此目的的确切语法。我有以下示例代码来测试这个,但这不起作用 -

module1.py

import threading

def print_value():
    local = threading.local() // what should I put here? this is actually creating a new thread local instead of returning a thread local created in main() method of module2.
    print local.name;

module2.py

import module1

if __name__ == '__main__':
    local = threading.local()
    local.name = 'Shailendra'
    module1.print_value()

Edit1 - 共享数据应仅可用于调用这些函数的线程,而不能用于系统中的所有线程。一个例子是Web应用程序中的请求ID。

2 个答案:

答案 0 :(得分:0)

在模块1中,定义一个}

的全局变量

<强>模块1

threading.local

<强>模块2

import threading

shared = threading.local()

def print_value():
    print shared.name

答案 1 :(得分:-1)

如果它在同一个过程中,为什么不使用singleton

debugDescription

现在只需导入Bucket并将一些数据绑定到它

description