Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在循环中读取用户输入(并且不阻塞此循环中的工作)?_Python_Loops_Input_Block - Fatal编程技术网

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在应用它时要考虑到这一点。我只更改布尔变量和刷新文件,这不会破坏任何东西,对吗?