在python中的新命令提示符中检索命令的输出

时间:2016-11-09 16:06:05

标签: python python-2.7

我正在尝试构建一个程序,它启动一个新的命令提示符并运行用户定义的自定义命令。以下是我的代码片段:

if(fileName == "" or className == ""):
    tkMessageBox.showinfo("Error", "Please select a test class/test!")
else:
    command = ["start","/w","cmd","/c","ctetest"]
    if(verbose.get()):
        command.append("-v")
    if(xml.get()):
        command.append("-x")
    if(version.get()):
        command.append("-V")
    if(output.get()):
        command.append("-o")
    command.append("RegressionTest/" + folderName)
    command.append(fileName + "." + className + "." + methodName)
    processOutput = subprocess.check_output(command, shell = True)
    print processOutput

我能够在新的命令提示符下运行该命令,然后在完成后关闭它,但问题是我没有从我的自定义命令获得输出,而是从“start”命令获取输出这没什么。有没有办法从我的自定义命令获取输出?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要多个CMD窗口,只需要一个。

如果要一次运行多个命令,请使用多线程。

如果您担心返回的数据会被截断,只需将其输出到文件中即可。

喜欢:

if(fileName == "" or className == ""):
    tkMessageBox.showinfo("Error", "Please select a test class/test!")
else:
    command = ["ctetest"]
    if(verbose.get()):
        command.append("-v")
    if(xml.get()):
        command.append("-x")
    if(version.get()):
        command.append("-V")
    if(output.get()):
        command.append("-o")
    command.append("RegressionTest/" + folderName)
    command.append(fileName + "." + className + "." + methodName)
    command.append('> %s_test_%s_%s_%s.txt' % (time.time(), fileName, className, methodName))
    subprocess.call(command, shell = True)