我想在shell中执行一个命令并在同一时间管道输出进行过滤。os.system或子进程将命令传递给shell
的培训相关的代码如下所示:
import os
n=raw_input("enter cmd")
os.system(n + ' | grep x')
结果是
Syntax error: Redirection unexpected.
这是在Ubuntu上,好像在网上提到一些这方面的参考,但没有我可以直接关联。看起来像子进程可能会有帮助,但大多数示例仍然超出了我目前的理解范围。
TZ,这是非常有帮助的。它帮助我用一些打印语句和理由进行了一些休息。我能够证明输出已经打印到屏幕上了(例如我说的非常新鲜),“| grep x”。我正在同时学习非科学编程和python(就像我说的非常新手一样)。 I – user916843
出于好奇,为什么'os.system()'不推荐使用?看起来它提供了一个非常快速和简单的界面,当你只是想传递一个命令到系统,而不需要花费任何时间来学习如何使用更复杂的'subprocess'模块... – Michael