我希望使用Popen执行以下操作:
grep -i --line-buffered "grave" data/*.txt
当我在shell中运行时,我得到了想要的结果。如果我在测试grep
的同一目录下启动Python repl,并按照文档中的指示操作,则可以获得应该是提供给Popen的正确参数列表:
['grep', '-i', '--line-buffered', 'grave', 'data/*.txt']
p = subprocess.Popen(args)
的结果是:
grep: data/*.txt: No such file or directory
如果我尝试使用p = subprocess.Popen(args, shell=True)
,会得到以下结果:
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
请问如何执行所需的过程?我使用的是MacOS Lion操作系统。