Я хочу загрузить большой файл по строкам в Nim. Я попробовал следующий фрагмент кода:Как загрузить файл строки за строкой в Nim?
for line in lines "largefile.txt":
echo line
Однако это загружает весь файл largefile.txt
в память, которая не представляется возможным, если файл очень большой> 30GB.
Как я могу перебирать большой файл, сохраняя только одну строку в памяти?
Я не уверен, как это произойдет, если вы не импортируете нестандартный итератор строк. Тот [в lib/system.nim] (https://github.com/nim-lang/Nim/blob/09b6d8c0ca5f9b5590e58d90b987975f36df8dd6/lib/system.nim#L3044) читает файл по строкам так же, как вы этого хотите. И когда я тестирую, что с большим файлом, использование памяти остается постоянным, как и ожидалось. –