[英]Faster than Grep on Python?
因此,我通常在Bash腳本中使用的bash命令將類似於:
$ cat huge2GBfile.txt | grep -w "pattern1/|pattern2/|pattern3" > out.txt
它將在找到pattern1,2,3的huge2GBfile中輸出行。 我想知道這是否可以通過python實現。 我知道我可以用
os.system(cmd)
但是我想知道Python中是否有類似的東西(我是一個完整的菜鳥),並且是否比使用cat + grep更快。 謝謝!
最初的想法,像
for line in f:
if pattern in line:
out.write(line)
快一點
即使使用的算法比grep所使用的邏輯更好(正如已經有人評論說它們經過高度優化,grep已有30年的歷史了!),仍然存在這樣的事實,它們是用C編寫的實用程序,並為系統本地編譯。
Python是一種解釋型語言,它的速度可能比本機C慢幾個數量級,因此我認為答案是否定的,python中沒有什么可以更快。
如果要逐行處理grep命令行的輸出,則可以選擇構建一個與unix命令行工具類似的python腳本,以便它可以從stdin讀取並寫入stdout,因此可以使用類似:
grep pattern file | python myscript.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.