ホームページ > バックエンド開発 > Python チュートリアル > Python ファイルの反復がその後の試行で失敗するのはなぜですか?

Python ファイルの反復がその後の試行で失敗するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-30 02:17:17
オリジナル
603 人が閲覧しました

Why Does My Python File Iteration Fail on Subsequent Attempts?

後続の試行によるファイルの反復の問題

for ループを使用したファイルの反復は、データを 1 行ずつ処理するために Python で広く使用されています。ただし、同じファイルを複数回反復しようとすると、興味深い問題が発生します。

開いているファイルを 2 回目に反復しようとすると、ファイル全体の読み取りに成功したにもかかわらず、readlines() メソッドは出力を生成しません。最初の反復で。この問題を解決するには、ファイルを閉じて再度開くか、f.seek(0) を使用してファイル ポインターをリセットする必要があります。

この動作を理解するには、最初の readlines() 操作でファイルが読み取られることを認識する必要があります。ファイル全体をメモリに格納します。これは、2 回目の反復試行時に、ファイル ポインターが最後に到達したため、これ以上読み取るデータがないことを意味します。

このような制限を回避するには、ファイルのクローズを自動的に処理する with 構文の採用を検討してください。次の変更により、適切な反復が保証されます:

with open('baby1990.html', 'rU') as f:
  for line in f:
     print(line)
ログイン後にコピー

このアプローチにより、ブロックの完了時にファイルが自動的に閉じられるようになり、手動で閉じたり再度開いたりすることなく、複数回の反復を成功させることができます。

以上がPython ファイルの反復がその後の試行で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート