Python 如何在循环中读取用户输入(并且不阻塞此循环中的工作)?
如何在循环中读取用户输入(并且不阻塞此循环中的工作) 我想做一些基本的事情,比如切换调试变量,在用户将要打印的一些特定键上打印一些变量的值,但是我的程序在常量循环中工作,这个循环触发另一个线程。如何执行此操作?使用线程:Python 如何在循环中读取用户输入(并且不阻塞此循环中的工作)?,python,loops,input,block,Python,Loops,Input,Block,如何在循环中读取用户输入(并且不阻塞此循环中的工作) 我想做一些基本的事情,比如切换调试变量,在用户将要打印的一些特定键上打印一些变量的值,但是我的程序在常量循环中工作,这个循环触发另一个线程。如何执行此操作?使用线程: import threading import time value = 3 def process(): while True: print(value) time.sleep(1) thread = threading.Thre
import threading
import time
value = 3
def process():
while True:
print(value)
time.sleep(1)
thread = threading.Thread(target=process)
thread.start()
while True:
value = input('Enter value: ')
(这里的输出有点混乱,因为两个循环都将内容打印到终端,但我认为这个想法应该很清楚。)你指的这个循环是什么?你的意思是要包含一个代码示例吗?代码文件很少,所以我认为这是不可能的,但如果你问里面是什么,这里是:它有很多打印,它使用eventlet线程,使用urllib,并从文件中写入和读取。它太复杂了,无法粘贴到任何地方。您在什么操作系统上运行它?Windows当前正在运行,但我也将在linux上运行此脚本。请小心在线程之间共享变量。你可能想使用互斥锁,或者将数据传递到队列或dequex,这肯定不是最漂亮的,但希望它能展示如何在单独的线程中运行某些东西。哦,我完全同意你的例子。我只是警告OP在应用它时要考虑到这一点。我只更改布尔变量和刷新文件,这不会破坏任何东西,对吗?