我在这里看到过很多其他页面,它们将输出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)