执行更多时保留一些代码运行

时间:2012-08-01 09:54:58

标签: python loops background execution

我在python中启动一个循环,在我启动循环后,我想在循环之后继续执行代码,而循环保持循环(在'background'中)。

x=True

while x:
  #do some output
  sleep(1)

#ask for input or something
if input()=='something':
  x=False

因此,在该示例中,#do some output将在要求输入时继续发生。

这在python中可行吗?有没有可以实现这一目标的解决方案?

2 个答案:

答案 0 :(得分:3)

根据我的理解,你想要的是创建一个在后台执行某些任务的线程。

http://docs.python.org/library/threading.html

线程是一个中等复杂的问题,因此在这里给你一个食谱不会太多。我建议你看看文档,了解所涉及的内容。

如果您遇到与实施相关的问题,请更新您的问题或创建一个新问题。

编辑: 我同意蒂姆霍夫曼的评论,正确的解决方案取决于你想要实现的目标。根据我的理解,线程应该对你有用,但如果你给我们更多的细节,可能更容易给出一个更准确的答案。

答案 1 :(得分:0)

按照OP的意愿,我发布了答案。 :)有多个库可以实现您的目标。最知名的包括:

它们之间存在微妙的差异,但我想你现在不应该担心它。我鼓励你阅读更多关于多处理和线程的信息。 “绿色”线程也是一个有趣的选择。