【问题标题】:Python: Output while waiting for input [duplicate]Python:等待输入时输出[重复]
【发布时间】:2017-03-30 18:46:27
【问题描述】:

所以我目前有一个正在输出的线程,我需要一种方法来处理输入,同时仍然允许来自线程的输出。

目前我有这样的东西

def thread_func():
    while True:
        print("Information")

threading.Thread(target=thread_func).start()

while True:
    command = raw_input("Enter a command:")
    #dostuff with command

我现在的问题是我的线程没有打印任何内容。或者如果它没有显示出来

编辑:

在这里找到了解决方案 Exiting while loop by pressing enter without blocking. How can I improve this method?

【问题讨论】:

  • 我无法复制这种行为。事实上,当我在 Python2 中运行相同的代码时,它会很快打印出"Information",我无法输入命令。你能更具体地描述你看到的行为吗?
  • 你是对的,确实可以运行。我试图简化代码,因为它有点复杂,而且对我正在做的事情非常具体。基本上在线程中我正在循环一个流,我猜出于某种原因导致了这个问题。我最终通过查看此处提供的答案来解决问题stackoverflow.com/questions/22391134/…
  • stackoverflow.com/questions/22391134/… 这个问题的答案是我用来修复我的程序的
  • 太棒了,我很高兴它能正常工作!我将这个问题作为链接问题的副本关闭。

标签: python multithreading python-2.x


【解决方案1】:

您想使用Queue。新的输入将进入队列的后面,工作将从前面开始。

【讨论】:

  • 不清楚如何实现队列来解决他的问题。
猜你喜欢
  • 2015-11-24
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
相关资源
最近更新 更多