ホームページ >バックエンド開発 >Python チュートリアル >Python でファイルから特定の行を効率的に読み取るにはどうすればよいですか?

Python でファイルから特定の行を効率的に読み取るにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-03 21:40:12141ブラウズ

How Can I Efficiently Read Specific Lines from a File in Python?

行番号を使用した特定のファイル行の読み取り

大きなファイルを処理する場合、多くの場合、特定の行のみを読み取る必要があります。これを実現するために、Python にはファイル内を移動し、行番号に基づいて行を読み取ることができるメソッドがいくつか用意されています。

For ループの使用

ファイルが小さい制約やメモリ制約は問題ではないため、for ループを使用してファイルを反復処理し、行番号ごとに行を読み取ることができます。たとえば、ファイルから行 26 と 30 を読み取るには:

fp = open("file")
for i, line in enumerate(fp):
    if i == 25:
        # 26th line
    elif i == 29:
        # 30th line
    elif i > 29:
        break
fp.close()

Python の行番号は 0 から始まるため、行番号 26 はファイルの 27 行目に対応することに注意してください。

with ステートメントの使用 (Python 2.6 または後で)

Python 2.6 で導入された別のアプローチでは、with ステートメントを使用してファイルを開き、その行を反復処理します。

with open("file") as fp:
    for i, line in enumerate(fp):
        if i == 25:
            # 26th line
        elif i == 29:
            # 30th line
        elif i > 29:
            break

このメソッドは、ファイルが例外が発生した場合でも、ループが終了すると自動的に閉じられます。

これらの手法を利用すると、ファイルから特定の行を効率的に読み取ることができます。ファイル全体を解析するか、外部ライブラリを使用する必要があります。

以上がPython でファイルから特定の行を効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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