如何同时运行多个python命令?
问题描述:
我读过应该使用子进程,但是我看到的所有示例都显示它只运行命令行命令。我想让我的程序和其他命令一起运行python命令。我想运行的命令是在用户播放我创建的游戏时向用户发送电子邮件。我必须同时运行python命令,因为如果没有这样做,游戏中的其他任何事情都不会在电子邮件发送完成之前发生,因此它滞后于游戏。请帮助和任何输入赞赏。如何同时运行多个python命令?
答
这听起来像你正在寻找线程,这是一个比较深的话题,但这应该帮助您入门:http://www.devshed.com/c/a/Python/Basic-Threading-in-Python/
+0
你可能也想看看[多](HTTP ://docs.python.org/library/multiprocessing.html) – 2011-12-29 00:52:27
答
线程是谈到了另一个答案,但你可以得到基本上你想要什么采用子的POPEN命令:http://docs.python.org/library/subprocess.html#subprocess.Popen
你基本上要这是什么(假设proc已经在游戏中的循环,所以初始化):
#...game code here...
args = [command_name_as_string, arg_1_to_command, arg_2_to_command, etc.]
proc = subprocess.Popen(args)
然后,你会回到你的游戏循环。在游戏循环的某个时刻,你可以把这样的事情:
if proc:
proc.poll()
if proc.returncode:
#...do whatever you want with the process output here, which can
# be accessed with proc.stdin, proc.stderr, and so on...
proc = None
它会更容易帮助,如果你表现出一些源代码.. – sarnold 2011-12-29 00:40:03