Я думаю, что постоянно улучшаю свой предыдущий вопрос. По сути, мне нужно было бы разбить большой текстовый (csv) файл, чтобы отправить его в multiprocess.Pool. Для этого, я думаю, мне нужен итерируемый объект, где строки можно повторять. (см. как выполнять многопроцессорную обработку больших текстовых файлов в python?)
Теперь я понял, что сам файловый объект (или тип _io.TextIOWrapper) после открытия текстового файла повторяется построчно, поэтому, возможно, мой код фрагментации (теперь ниже, извините за отсутствие его ранее) мог бы его фрагментировать, если бы он мог получить его длина? Но если он итерируемый, почему я не могу просто назвать его длину (по строкам, а не по байтам)?
Спасибо!
def chunks(l,n):
"""Divide a list of nodes `l` in `n` chunks"""
l_c = iter(l)
while 1:
x = tuple(itertools.islice(l_c,n))
if not x:
return
yield x