CTRL-C在python中终止

时间:2011-10-28 15:17:32

标签: python cmd

目前,我有一个exe需要将命令传递给ththon。代码本身就是有效的。当我将该片段与我的最终节目合并时,它无法正常工作。

基本上,在使用程序shell_start上传前两个文件之后(我正在将命令传递到程序中的-f上传),python决定跳过底部的最终上传程序名为shell_forward。使用程序shell_forward最终上传3个文件甚至无法正常工作。

所以,我的主要问题是,如果你感到困惑,那就是:为什么当程序shell_start完成上传两个命令和文件时,python shell将不允许我在其中键入任何内容?它就像一个命令提示符窗口,在执行代码后不会让你输入任何东西。

这就是为什么我觉得从前一个进程终止shell_start.exe需要一个ctrl-c,所以python可能让我在执行后输入。

以下是代码:

import os, time

name = raw_input("Input your name: ")
apn = raw_input("Input apn name: ")
ecid = raw_input("Input ecid name: ")
kernel = raw_input("Input kernel name: ")

os.system('shell_start.exe -f %s'%name)
time.sleep(1)
os.system('shell_start.exe -f %s'%apn)
time.sleep(1)

os.system('shell_forward.exe --imagefile myfile.img --ecid %(x)s --kernel %(y)s '% {"x" : ecid, "y" : kernel})

1 个答案:

答案 0 :(得分:2)

os.system来电替换为subprocess可能会有更好的结果。

  

子进程模块允许您生成新进程,连接到   他们的输入/输出/错误管道,并获得他们的返回代码。这个   模块打算替换其他几个较旧的模块和功能,   如:

os.system
os.spawn*
os.popen*
popen2.*
commands.*
     

另见PEP 324 - 提议子流程模块的PEP