子流程调用grep c没有返回正确的值

2024-09-26 17:55:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python的子流程调用要执行以下unix功能:

grep -c 'Frame:0' file.txt

我的python代码如下所示:

frame0Count=int(unix.call("grep -c 'Frame:0' %s"% fileNameVariable,shell=True))

未发现任何事件,屏幕输出为:

0

但是,frame0Countvar的值是1,而不是0。你知道吗

有人能解释这是为什么吗?你知道吗

谢谢


Tags: 代码功能txttrue事件unix流程shell
1条回答
网友
1楼 · 发布于 2024-09-26 17:55:49

正如西蒙指出的那样,我的回答是错误的。为了实现我的目标,我可以做以下几点:

callStringframe0= unix.Popen('grep -c Frame:0 %s' % fileNameVariable , 
                              stdout=unix.PIPE,
                              stderr=unix.STDOUT, 
                              shell=True)
frame0Count=int(callStringframe0.stdout.read())

这给了我正确的答案。你知道吗

相关问题 更多 >

    热门问题