Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to load file line by line in Nim?

Tags:

file

nim-lang

I want to load a large file line by line in Nim. I tried the following code snippet:

for line in lines "largefile.txt":
  echo line

However, this loads the entire file largefile.txt into memory which is not feasible when the file is very large > 30GB.

How can I iterate over a large file while holding only a single line in memory ?

like image 751
Pythtotic Avatar asked Dec 30 '16 14:12

Pythtotic


1 Answers

Indeed, Reimer Behrends is right. The lines function works as expected.

The issue was that my file had only escaped newline characters. As a result, Nim (correctly) reads the file as one large line.

like image 193
Pythtotic Avatar answered Oct 04 '22 11:10

Pythtotic