ファイルからの特定の行の読み取り
for ループを使用してファイルを反復処理する場合、特定の行のみを読み取る必要がある場合があります。 Python では、ループを使用してファイル内のすべての行を反復処理できますが、ファイル全体を読み取らずに特定の行を読み取る機能は組み込まれていません。
ただし、次のような状況では回避策が利用できます。ファイルが大きいため、ファイル全体をメモリに読み取ることは現実的ではありません。これには、ファイルを 1 行ずつ繰り返し、条件を適用して目的の行を読み取ることが含まれます。
fp = open("file") for i, line in enumerate(fp): if i == 25: # Process 26th line elif i == 29: # Process 30th line elif i > 29: break fp.close()
注: ループ内の行番号は 0 から始まり、最初の行を意味します。行のインデックスは 0 です。
Python 2.6 および以降:
Python 2.6 以降では、with ステートメントを利用して適切なファイル処理を保証できます:
with open("file") as fp: for i, line in enumerate(fp): if i == 25: # Process 26th line elif i == 29: # Process 30th line elif i > 29: break
以上がPython で大きなファイルから特定の行を効率的に読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。