我正在尝试使用以下脚本计算字符串OW出现在文件中的次数,
import subprocess
subprocess.call("grewp Ow file.txt | wc -l", shell=True)
但它总是返回正确的答案后跟零
>>> subprocess.call("grep OW production_run.gro | wc -l", shell=True)
2638
0
>>>
当我尝试用它声明变量时,它存储0。 这里有没有人知道为什么会发生这种情况以及如何解决它?
答案 0 :(得分:0)
Python关于subprocess.call的文档
运行args描述的命令。等待命令完成,然后 返回returncode属性。
尝试使用check_output
答案 1 :(得分:0)
基于document subprocess.check_output
:
使用参数运行命令并将其输出作为字节字符串返回。
因此你可以使用它:
count = int(subprocess.check_output("grewp Ow file.txt | wc -l", shell=True))