Я пытаюсь передать данные в threading.local () функциям в другом модуле .Код выглядит примерно так:
other_module.py:
import threading
# 2.1
ll = threading.local()
def other_fn():
# 2.2
ll = threading.local()
v = getattr(ll, "v", None)
print(v)
main_module.py:
import threading
import other_module
# 1.1
ll = threading.local()
def main_fn(v):
# 1.2
ll = threading.local()
ll.v = v
other_fn()
for i in [1,2]:
t = threading.Thread(target=main_fn, args=(i,))
t.start()
Но ни одна из комбинаций 1.x - 2.x неработает на меня.Я нашел похожий вопрос - Доступ к локальному объекту потока в другом модуле - Python , но ответ, помеченный как ответ, не работает и для меня, если функция print_message находится в другом модуле .
Можно ли передавать локальные данные потока между модулями , не передавая их в качестве аргумента функции?