我正在尝试构建一个程序,它启动一个新的命令提示符并运行用户定义的自定义命令。以下是我的代码片段:
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”命令获取输出这没什么。有没有办法从我的自定义命令获取输出?提前谢谢!
答案 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)