我在这里看到了很多其他的页面,谈论输出grep输出到一个文件,但我似乎不能使任何这些工作。
我有
subprocess.run(['grep', '-o', searchFor, filename])
如果这不是一个子进程,我会用类似于
grep -o searchfor filename >> outputfile.txt
而当我尝试使用 >
或 >>
或其他子进程中的任何东西,我不能让它输出到一个简单的txt文件。我想这是因为我在这里看到的大多数页面都是将文件从 与我在子进程中尝试使用常规命令相比,我在子进程中尝试使用常规命令。. 我猜是我的语法有问题。哪儿应该是 >
或 >>
或什么的,我应该用去?我试过后 ]
和之前以及许多其他组合。
打开文件,在写(>
)或附加(>>
)模式,并将与之相关联的描述符分配给 stdout
在 subprocess.run
呼叫。
with open('outputfile.txt', 'w') as fd:
subprocess.run(['grep', '-o', searchFor, filename], stdout=fd)