I am trying to find a string near the end of a text file. The problem is that the text file can vary greatly in size. From 3MB to 4GB. But everytime I try to run a script to find this string in a text file that is around 3GB, my computer runs out of memory. SO I was wondering if there was anyway for python to find the size of the file and then read the last megabyte of it.
The code I am currently using is as follows, but like I said earlier, I do not seem to have a big enough memory to read such large files.
find_str = "ERROR"
file = open(file_directory)
last_few_lines? = file.readlines()[-20:]
error? = False
for line in ?last_few_lines?:
if find_str in line:
? error? = True
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…