将subprocess.run的输出重定向到文件。

问题描述 投票:1回答:1

我在这里看到了很多其他的页面,谈论输出grep输出到一个文件,但我似乎不能使任何这些工作。

我有

subprocess.run(['grep', '-o', searchFor, filename])

如果这不是一个子进程,我会用类似于

grep -o searchfor filename >> outputfile.txt

而当我尝试使用 >>> 或其他子进程中的任何东西,我不能让它输出到一个简单的txt文件。我想这是因为我在这里看到的大多数页面都是将文件从 与我在子进程中尝试使用常规命令相比,我在子进程中尝试使用常规命令。. 我猜是我的语法有问题。哪儿应该是 >>> 或什么的,我应该用去?我试过后 ] 和之前以及许多其他组合。

python grep subprocess output
1个回答
1
投票

打开文件,在写(>)或附加(>>)模式,并将与之相关联的描述符分配给 stdoutsubprocess.run 呼叫。

with open('outputfile.txt', 'w') as fd:
  subprocess.run(['grep', '-o', searchFor, filename], stdout=fd)
© www.soinside.com 2019 - 2024. All rights reserved.