как открыть огромный текстовый файл?
есть огромный лог, около 50гб, есть программа на python которая бинарным поиском находит нужное место, и хочется вывести в окне оставшиюся часть(она может быть и 20гб) для дальнейшего скрола. на pyqt5 вариант отображать или как то лучше по другому чтобы скорость не падала? тоталкомандер хорошо с этим справляется, но нужно самописное)
Ответы (1 шт):
Автор решения: alex
→ Ссылка
1 - иметь ОЗУ больше чем размер файла
2 - софт должен отображать необходимое кол-во строк. и потом по какому то событию смещаться вверх или вниз. таким образом в ОЗУ будет только отображаемое кол-во строк и можно будет смотреть файл.
как нибудь вот так)
with open("file.txt", "r") as f:
old_pos = 0
chunk_size = 2
while True:
chunk = f.read(chunk_size)
print(chunk, sep="")
cmd = input(":")
if cmd == ">":
old_pos = f.tell()
continue
elif cmd == "<":
old_pos -= chunk_size
f.seek(old_pos)
continue
else:
break