ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して大きなファイルの行を効率的にカウントするにはどうすればよいですか?

Python を使用して大きなファイルの行を効率的にカウントするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-13 02:52:10970ブラウズ

How Can I Efficiently Count Lines in Large Files Using Python?

Python で大きなファイルの行数を取得する

大きなファイルの行数の計算は、リソースを大量に消費するタスクになる可能性があります。効率とメモリ消費量の両方を最適化することで、この課題に効果的に取り組むことができます。

広く採用されているアプローチの 1 つは、提供された例で示されているように、for ループで列挙を利用することです。ただし、この方法はパフォーマンスに負荷がかかる可能性があります。

より効率的なソリューション

より迅速かつ簡潔なソリューションとして、次の方法を採用できます。

num_lines = sum(1 for _ in open('myfile.txt'))

この 1 行のコードは、ジェネレーター式の柔軟性を利用して、ファイルの内容全体を反復処理してファイルに保存することなく行数をカウントします。

さらなるパフォーマンスの強化

速度と堅牢性を強化するために、バイナリ モード (rb) を組み込み、ファイル クロージャを処理するコードを with ブロック内に含めることができます。

with open("myfile.txt", "rb") as f:
    num_lines = sum(1 for _ in f)

非推奨使用法

3.3 より前の Python バージョンでは、ユニバーサル改行サポートを有効にするために rbU モードの「U」が使用されていました。ただし、この使用法は廃止されたため、代わりに rb モードを使用する必要があります。 Python 3.11 では、rbU から「U」が削除され、rb が標準オプションになりました。

以上がPython を使用して大きなファイルの行を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。