我正在尝试使用python的subprocess.call来执行以下的unix函数:
grep -c 'Frame:0' file.txt
我的python代码如下所示:
frame0Count=int(unix.call("grep -c 'Frame:0' %s"% fileNameVariable,shell=True))
没有发现,屏幕输出为:
0
但是, frame0Count var的值为1,而不是0.
任何人都能解释为什么会这样吗?
由于
答案 0 :(得分:1)
正如西蒙所指出的那样,我的申请是错误的。为了实现我的目标,我可以做到以下几点:
callStringframe0= unix.Popen('grep -c Frame:0 %s' % fileNameVariable ,
stdout=unix.PIPE,
stderr=unix.STDOUT,
shell=True)
frame0Count=int(callStringframe0.stdout.read())
这给了我正确的答案。