全部, 我很新,正在尋求幫助。我需要對壓縮大約20 GB數據的數據集執行字符串搜索。我有一個8核心的Ubuntu 32GB的內存盒,我可以用它來解決這個問題,但我無法實現或確定這樣的任務的最佳代碼。線程或多處理對於這樣的任務是否最好?請提供代碼示例。謝謝。 請看我目前的代碼;Python for循環使用線程或多處理
#!/usr/bin/python
import sys
logs = []
iplist = []
logs = open(sys.argv[1], 'r').readlines()
iplist = open(sys.argv[2], 'r').readlines()
print "+Loaded {0} entries for {1}".format(len(logs), sys.argv[1])
print "+Loaded {0} entries for {1}".format(len(iplist), sys.argv[2])
for a in logs:
for b in iplist:
if a.lower().strip() in b.lower().strip()
print "Match! --> {0}".format(a.lower().strip())
我不確定Python是你的任務的工具。你爲什麼不只是在sqlite中加載這些呢? – 2013-04-20 03:04:05
我很抱歉,請你解釋一下你的推理嗎?我真的認爲這將是一個很好的Python用例。 – noobie 2013-04-20 03:49:55
那麼,這在SQL中很容易實現,但在Python中肯定可行。只有兩個巨大的文件,或許多較小的文件? – reptilicus 2013-04-20 04:03:02