平臺稱爲:視窗grep命令從蟒
grep的:http://gnuwin32.sourceforge.net/packages/grep.htm
的Python:用於執行命令2.7.2
Windows命令提示。
我正在尋找一個文件中的以下模式"2345$"
。是 該文件的內容如下:
abcd 2345
2345
abcd 2345$
grep "2345$" file.txt
grep的返回2線(第一和第二)成功。
當我嘗試通過python運行上述命令時,我看不到任何輸出。 Python代碼片斷如下:
temp = open('file.txt', "r+")
grep_cmd = []
grep_cmd.extend([grep, '"2345$"' ,temp.name])
print grep_cmd
p = subprocess.Popen(grep_cmd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdoutdata = p.communicate()[0]
print stdoutdata
如果我在python腳本有
grep_cmd.extend([grep, '2345$' ,temp.name])
,我得到正確的答案。
的問題是,爲什麼從蟒蛇執行與"
grep_cmd.extend([grep, '"2345$"' ,temp.name])
grep命令失敗。不是python應該按照原樣執行 命令。
謝謝 Gudge。
對不起,沒有直接回答你的問題,但有沒有什麼原因你不想在Python中手動「grep」文件?通過使用,例如're'?這將是更少的線... – tomasz 2012-03-03 01:08:12
我明白我可以做一個re.search。這是通過python執行命令的具體要求。 – gudge 2012-03-03 01:25:10
好的,公平的@gudge。不要誤解我的意思,只是想確保你知道你在做什麼:) – tomasz 2012-03-03 01:26:54