3
Nimに行単位で大きなファイルをロードしたい。私は、次のコードスニペットを試してみました:Nimに1行ずつファイルをロードする方法は?
for line in lines "largefile.txt":
echo line
しかし、これはファイルが非常に大きい> 30ギガバイトときに実行不可能であるメモリにファイル全体largefile.txt
をロードします。
メモリ内の1行だけを保持しながら大きなファイルを反復処理するにはどうすればよいですか?
非標準の 'lines'イテレータをどこかにインポートしない限り、どうなるかわかりません。 lib/system.nim(https://github.com/nim-lang/Nim/blob/09b6d8c0ca5f9b5590e58d90b987975f36df8dd6/lib/system.nim#L3044)のファイルは、あなたが望むのと同じように、行単位でファイルを読み込みます。そして、大きなファイルを使ってそれをテストしているとき、メモリ使用量は期待どおり一定に保たれます。 –