首页 > 解决方案 > 如何取消输入请求

问题描述

我正在努力在我的程序中添加某种用户控制台的支持,他们可以在 python 文件中以以下形式键入命令,var = input("Input here: ")但是在请求输入时似乎无法打印想法,我想将某些更新打印到控制台...

这甚至可能吗?

编辑:我发现足以将问题缩小到:

如何取消输入请求

标签: pythonprintingconsole

解决方案


在单个线程中等待用户输入时,您无法运行任何代码。您可能想查看线程模块并创建一个等待用户输入的线程和一个打印项目的线程。这个 reddit 线程可能会有所帮助。

import threading
import Queue

myQueue = Queue.Queue()

def getUserInput():
    return input("Input here: ")

inputThread = threading.Thread(target=lambda: myQueue.put(getUserInput()))
inputThread.start()

while inputThread.is_alive():
    # Your code here
inputThread.join()
var = myQueue.get()


推荐阅读