FishHook
Объясни на пальцах. Вот есть у нас файл, надо узнать количество строк. Вопрос № 1: как не зная размер файла разбить его на две части?
Размер узнать не так сложно:
import os
size_of_file = os.path.getsize(путь_к_файлу) # размер файла в байтах.
С текстом проще все делается. если он говорит надо узнать кол. строк - значит, он имеет в виду текст.
with open("name.txt", "r") as file:
lines = len(file.read().split())
if not lines % 2:
part1 = lines[:(lines/2)
part2 = lines[(lines/2):]
else:
part1 = lines[:(lines/2+0.5)] # даем 1-ой части на 1 строку больше
part2 = lines[(lines/2-0.5):] # А второй - меньше
# part1 - это первая половина текста в файле
# part2 - это вторая половина
FishHook
Вопрос № 2: что конкретно должен делать поток № 1 с частью файла № 1
Сделать тоже, что и автор вопроса, только не со всем файлом:
Bjiq
self.open_file_to_read()
А по частям для каждого потока. Так дело пойдет гораздо быстрее. И размер тут не имеет особого значения если в деле говориться о строках
P. S. Написал что думаю. Если не прав в чем-то - пожалуйста докажи, и я извинюсь.