草庐IT

capture-output

全部标签

python - subprocess.check_output 与 subprocess.call 的性能

我一直在使用subprocess.check_output()有一段时间从子进程捕获输出,但在某些情况下遇到了一些性能问题。我在RHEL6机器上运行它。调用Python环境是linux编译的64位。我正在执行的子进程是一个shell脚本,它最终通过Wine触发一个Windowspython.exe进程(为什么需要这种愚蠢是另一回事)。作为shell脚本的输入,我正在输入一小段Python代码,这些代码会传递给python.exe。当系统处于中等/高负载(40%到70%的CPU利用率)时,我注意到使用subprocess.check_output(cmd,shell=True)在chec

python - subprocess.check_output 与 subprocess.call 的性能

我一直在使用subprocess.check_output()有一段时间从子进程捕获输出,但在某些情况下遇到了一些性能问题。我在RHEL6机器上运行它。调用Python环境是linux编译的64位。我正在执行的子进程是一个shell脚本,它最终通过Wine触发一个Windowspython.exe进程(为什么需要这种愚蠢是另一回事)。作为shell脚本的输入,我正在输入一小段Python代码,这些代码会传递给python.exe。当系统处于中等/高负载(40%到70%的CPU利用率)时,我注意到使用subprocess.check_output(cmd,shell=True)在chec

python - 当父进程死亡时,如何杀死使用 subprocess.check_output() 创建的 python 子进程?

我在linux机器上运行一个python脚本,它使用subprocess.check_output()创建一个子进程,如下所示:subprocess.check_output(["ls","-l"],stderr=subprocess.STDOUT)问题是即使父进程死了,子进程仍在运行。当父进程死亡时,有什么方法可以杀死子进程? 最佳答案 是的,您可以通过两种方法实现这一点。它们都要求您使用Popen而不是check_output。第一种是比较简单的方法,使用try..finally,如下:fromcontextlibimportc

python - 当父进程死亡时,如何杀死使用 subprocess.check_output() 创建的 python 子进程?

我在linux机器上运行一个python脚本,它使用subprocess.check_output()创建一个子进程,如下所示:subprocess.check_output(["ls","-l"],stderr=subprocess.STDOUT)问题是即使父进程死了,子进程仍在运行。当父进程死亡时,有什么方法可以杀死子进程? 最佳答案 是的,您可以通过两种方法实现这一点。它们都要求您使用Popen而不是check_output。第一种是比较简单的方法,使用try..finally,如下:fromcontextlibimportc

python - subprocess.check_output 返回码

我正在使用:grepOut=subprocess.check_output("grep"+search+"tmp",shell=True)要运行终端命令,我知道我可以使用try/except来捕获错误,但是如何获取错误代码的值?我在官方文档上找到了这个:exceptionsubprocess.CalledProcessErrorExceptionraisedwhenaprocessrunbycheck_call()orcheck_output()returnsanon-zeroexitstatus.returncodeExitstatusofthechildprocess.但没有给出示

python - subprocess.check_output 返回码

我正在使用:grepOut=subprocess.check_output("grep"+search+"tmp",shell=True)要运行终端命令,我知道我可以使用try/except来捕获错误,但是如何获取错误代码的值?我在官方文档上找到了这个:exceptionsubprocess.CalledProcessErrorExceptionraisedwhenaprocessrunbycheck_call()orcheck_output()returnsanon-zeroexitstatus.returncodeExitstatusofthechildprocess.但没有给出示

python - 为什么正则表达式的 "non-capturing"组不起作用?

在下面的代码段中,非捕获组"(?:aaa)"应该在匹配结果中被忽略,结果应该是"_bbb"而已。但是,我在匹配结果中得到"aaa_bbb";只有当我指定group(2)时它才会显示"_bbb".>>>importre>>>s="aaa_bbb">>>print(re.match(r"(?:aaa)(_bbb)",s).group())aaa_bbb 最佳答案 我认为您误解了“非捕获组”的概念。非捕获组匹配的文本仍会成为整个正则表达式匹配的一部分。两个正则表达式(?:aaa)(_bbb)和正则表达式(aaa)(_bbb)返回aaa_b

python - 为什么正则表达式的 "non-capturing"组不起作用?

在下面的代码段中,非捕获组"(?:aaa)"应该在匹配结果中被忽略,结果应该是"_bbb"而已。但是,我在匹配结果中得到"aaa_bbb";只有当我指定group(2)时它才会显示"_bbb".>>>importre>>>s="aaa_bbb">>>print(re.match(r"(?:aaa)(_bbb)",s).group())aaa_bbb 最佳答案 我认为您误解了“非捕获组”的概念。非捕获组匹配的文本仍会成为整个正则表达式匹配的一部分。两个正则表达式(?:aaa)(_bbb)和正则表达式(aaa)(_bbb)返回aaa_b

python - 如何从 Python subprocess.check_output() 捕获异常输出?

我正在尝试从Python中进行比特币支付。在bash中,我通常会这样做:bitcoinsendtoaddress例如:bitcoinsendtoaddress1HoCUcbK9RbVnuaGQwiyaJGGAG6xrTPC9y1.4214如果成功,我会得到一个交易ID作为输出,但如果我尝试转移一个大于我的比特币余额的金额,我会得到以下输出:error:{"code":-4,"message":"Insufficientfunds"}在我的Python程序中,我现在尝试按如下方式付款:importsubprocesstry:output=subprocess.check_output([

python - 如何从 Python subprocess.check_output() 捕获异常输出?

我正在尝试从Python中进行比特币支付。在bash中,我通常会这样做:bitcoinsendtoaddress例如:bitcoinsendtoaddress1HoCUcbK9RbVnuaGQwiyaJGGAG6xrTPC9y1.4214如果成功,我会得到一个交易ID作为输出,但如果我尝试转移一个大于我的比特币余额的金额,我会得到以下输出:error:{"code":-4,"message":"Insufficientfunds"}在我的Python程序中,我现在尝试按如下方式付款:importsubprocesstry:output=subprocess.check_output([