python 在linux 中执行grep 命令

使用python在linux执行grep命令:ps-ef|grep"loop"|wc-limportos,sys,subprocessoutput=subprocess.... 使用python 在linux 执行grep 命令: ps -ef | grep "loop" | wc -l
import os,sys,subprocess
output=subprocess.call([' ps -ef | grep "loop" | wc -l'],shell=True);
print output
output 返回值为 14

但是在linux中执行 ps -ef | grep "loop" | wc -l 这条命令返回值为:13 ,

请问:为什么相同的命令在python 中执行结果会 +1 ?
如何写能获取到正确的返回值呢?
展开
 我来答
西夏驸马慞
2014-06-27 · 超过60用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:108万
展开全部
如果多个内容是与关系,可以多个grep用管道相连,是或关系,可用正则式
如grep '\(ab|cd\)' a.txt 是查包含 ab或cd的行, grep 'ab' a.txt | grep 'cd' 是查包含ab和cd的行
要将结果赋到变量 a=`grep '\(ab|cd\)' a.txt ` 就行了
在python里就相当好办了,用不着grep啦,字符串的find函数就行啦
满意请采纳。
hovering_hawk
2015-08-06 · TA获得超过496个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:123万
展开全部
下面的函数封装了系统的grep功能,传递文件名和参数返回grep的结果
import subprocess

def grep(filename, arg):
process = subprocess.Popen(['grep', '-n', arg, filename], stdout=subprocess.PIPE)
stdout, stderr = process.communicate()
return stdout, stderr
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一姐韩梅
2018-03-14 · TA获得超过895个赞
知道小有建树答主
回答量:764
采纳率:58%
帮助的人:228万
展开全部
两个都对,可能是你执行的时间不同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式