Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何扫描任何程序/进程的命令输出以确保它';s使用python的控制台中存在成功/失败字符串_Python - Fatal编程技术网

如何扫描任何程序/进程的命令输出以确保它';s使用python的控制台中存在成功/失败字符串

如何扫描任何程序/进程的命令输出以确保它';s使用python的控制台中存在成功/失败字符串,python,Python,在python中,如何扫描任何程序/进程的命令输出,以确保其成功/失败字符串存在于控制台中。通常,成功应根据进程的返回代码而不是它生成的输出来确定。但是,如果您坚持查看输出,则可以看到中各种函数的stderr参数。通常,成功应该根据进程的返回代码而不是它生成的输出来确定。但是,如果您坚持查看输出,则可以查看中各种函数的stderr参数。更可靠的方法是检查流程返回代码(如前所述),但您可以这样做: import subprocess proc = subprocess.Popen("/usr/bi

在python中,如何扫描任何程序/进程的命令输出,以确保其成功/失败字符串存在于控制台中。

通常,成功应根据进程的返回代码而不是它生成的输出来确定。但是,如果您坚持查看输出,则可以看到中各种函数的
stderr
参数。

通常,成功应该根据进程的返回代码而不是它生成的输出来确定。但是,如果您坚持查看输出,则可以查看中各种函数的
stderr
参数。

更可靠的方法是检查流程返回代码(如前所述),但您可以这样做:

import subprocess
proc = subprocess.Popen("/usr/bin/somejavaprogram -flag1 arg1".split())
stdout, stderr = proc.communicate()
if (proc.returncode = 0 and
    "data successfully processed" in stdout):
    print "Handle success here!"
else:
    print "Job failed with return code %s"%(proc.returncode)
    print stderr

当然,上面假设一个行为良好的进程将错误写入stderr,并且在成功运行时返回代码为0。YMMV.

更可靠的方法是检查流程返回代码(如前所述),但您可以这样做:

import subprocess
proc = subprocess.Popen("/usr/bin/somejavaprogram -flag1 arg1".split())
stdout, stderr = proc.communicate()
if (proc.returncode = 0 and
    "data successfully processed" in stdout):
    print "Handle success here!"
else:
    print "Job failed with return code %s"%(proc.returncode)
    print stderr

当然,上面假设一个行为良好的进程将错误写入stderr,并且在成功运行时返回代码为0。YMMV.

假设,如果我正在执行某个java程序,并且在执行结束时,我需要知道成功消息,例如输出控制台中存在“数据成功处理”。您可能需要查看
stdout
。但这取决于程序的工作方式。比方说,如果我正在执行某个java程序,并且在执行结束时,我需要知道成功消息,例如输出控制台中存在“已成功处理的数据”。您可能需要查看stdout。但这取决于程序的工作方式。谢谢你,迈克。这很有帮助。我正在尝试用python编写通用函数,它将采用3个参数(命令需要执行的目录(/a/b/c),应用程序命令(java或python)和一组参数,成功消息(如正确处理数据)命令示例:/a/b/c java-jar blablablabla.jar——参数1——参数2“数据处理成功”谢谢你,迈克。这很有帮助。我正在尝试用python编写通用函数,它将采用3个参数(命令需要执行的目录(/a/b/c),应用程序命令(java或python)和一组参数,成功消息(如正确处理的数据)命令示例:/a/b/c java-jar blablabla.jar——参数1——参数2“数据处理成功”