Stephen.Wu, 01.02.2010 10:17: > tmp=file.read() (very huge file) > if targetStr in tmp: > print "find it" > else: > print "not find" > file.close() > > I checked if file.read() is huge to some extend, it doesn't work, but > could any give me some certain information on this prolbem?
Others have already pointed out that reading the entire file into memory is not a good idea. Try reading chunks repeatedly instead. As it appears that you simply try to find out if a file contains a specific byte sequence, you might find acora interesting: http://pypi.python.org/pypi/acora Also note that there are usually platform optimised tools available to search content in files, e.g. grep. It's basically impossible to beat their raw speed even with hand-tuned Python code, so running the right tool using the subprocess module might be a solution. Stefan -- http://mail.python.org/mailman/listinfo/python-list