python - 如何取消输入请求
问题描述
我正在努力在我的程序中添加某种用户控制台的支持,他们可以在 python 文件中以以下形式键入命令,var = input("Input here: ")
但是在请求输入时似乎无法打印想法,我想将某些更新打印到控制台...
这甚至可能吗?
编辑:我发现足以将问题缩小到:
如何取消输入请求
解决方案
在单个线程中等待用户输入时,您无法运行任何代码。您可能想查看线程模块并创建一个等待用户输入的线程和一个打印项目的线程。这个 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()
推荐阅读
- java - Hazelcast EntryProcessor ClassNotFoundException
- javascript - 从 iFrame 引用最外面的标签
- python - Pandas 条件映射/填充/替换
- javascript - 在多维数组中查找属性的一部分与给定文本匹配的条目
- performance - s3 前缀在比例方面意味着什么?
- ef-code-first - 使用工作单元模式将数据保存在数据库中
- python - 简单感知器中的正确反向传播
- sql - 如何选择管道分隔数据的前半部分
- linux - 如何读取上一个命令的输出然后继续执行下一个命令
- mysql - 如何优化 Mysql 中的简单更新查询?