繁体   English   中英

使用线程时使用Python更新导入模块的变量

[英]Update variable from imported module with Python when using Threading

在一个项目中,我想将可视化和计算分为两个不同的模块。 目的是将计算模块的变量传输到主脚本,以便使用可视化脚本将其可视化。

在这篇文章之后使用文件之间的全局变量? ,我现在可以使用config-script来在脚本之间传输变量。 但是不幸的是,在使用线程时这是行不通的。 main.py的输出始终为“ get:1”。

有人有主意吗?

main.py:

from threading import Thread
from time import sleep

import viz

import change
add_Thread = Thread(target=change.add)
add_Thread.start()

viz.py:

import config

from time import sleep

while True:
    config.init()
    print("get:", config.x)
    sleep(1)

config.py:

x = 1

def init():
    global x

change.py:

import config

def add():
    while True:
        config.x += 1
        config.init()

好吧,自己找答案。 问题出在“ main.py”中。 必须在启动线程后放入“ import viz”:

from threading import Thread
from time import sleep

import change
add_Thread = Thread(target=change.add)
add_Thread.start()

import viz

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM