1. ホーム
  2. python

[解決済み] Pythonで大きなファイルの行数を安価に取得する方法は?

2022-03-19 02:27:52

質問

Pythonで大きなファイル(数十万行)の行数を取得する必要があります。メモリ的にも時間的にも最も効率的な方法は何でしょうか?

今のところ、そうしています。

def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

は、これ以上のことはできないのでしょうか?

解決するには?

仝苧晩は苧晩々は苧晩の吭龍です。

結局のところ、どのようなソリューションであっても、ファイル全体を読み、いくつの \n その結果を返します。

ファイル全体を読まなくても、もっと良い方法があるのでしょうか?よくわからないけど...。最適なソリューションは常にI/Oバウンドであり、あなたにできることは不要なメモリを使用しないようにすることですが、あなたはそれをカバーしているように見えます。