我正在使用Python(python 2.6)中的子進程模塊和Popen方法。Python子流程模塊 - 在bash中使用-exec查找命令的Popen方法
我想實現:
我嘗試使用下面的bash命令與POPEN如果發現有「標準錯誤」的字符串的文件,將返回匹配。
代碼:
慶典
find . -exec grep "stderr" {} +
我在蟒蛇正在做
from subprocess import Popen, PIPE
command = "find . -exec grep 'stderr' {} +"
stream = Popen(command, stdout=PIPE, shell=True, cwd=dir)
stream_stdout, stream_stderr = stream.communicate()
我會得到什麼:
它看起來已經做stream_stdout和stream_stderr返回我懷疑, 但我得到這個TXT發送到屏幕:
find: missing argument to `-exec'
任何想法爲什麼?
* 編輯: 我沒有{+}之間的空格,這就是爲什麼我得到了上述。道歉! *
乾杯,
邁克
我無法在Mac OS X上的python2.6中重現您的錯誤。您的「dir」參數的值是多少? – noio
爲什麼不使用'grep -r' –
@Noio只是我希望命令運行的字符串。在這種情況下,它是在我的Linux機器上的一個/數據區域 – MWright