我在一個相當大的txt文件做一個文本搜索(10萬線,7mo) 文本並不大,但我需要大量的搜索。 我想尋找一個目標字符串,並返回它出現的那一行。 我的文本文件被格式化,以便目標只能出現在一行中。最快的文本搜索方法文件
什麼是最有效的方法?我做了很多搜索,所以我想提高速度。 這裏現在是mycode的:
def lookup_line(target):
#returns line of the target, or None if doesnt exist
line=None
dir=os.path.dirname(__file__)
path=dir+'/file.txt'
file=open(path,'r')
while line==None:
l=file.readline()
l=unicode(l,'utf-8')
if target in l:
break
if l=='': break #happens at end of file, then stop loop
line=l
if line=='':line=None #end of file, nothing has been found
file.close()
return line
我用這個Python代碼爲谷歌的AppEngine應用。
謝謝!
您是否在搜索單詞,短語或時髦的標點符號(如編譯器錯誤)?文件是否在搜索之間改變? – sje397 2010-08-10 13:32:40
我正在搜索非拉丁字符中的單詞。 格式是:「你好[」 這是由於文件格式化,我需要2個空格和[以確保該單詞在行中的正確位置找到。 – user375348 2010-08-10 13:43:50