ホームページ >バックエンド開発 >Python チュートリアル >Python ファイルを 2 回反復すると予期しない結果が生じるのはなぜですか?
ファイルを 2 回反復する: Python のファイル反復メカニズムを理解する
Python では、ファイルを反復するには、ループを使用して 1 行ずつ読み取る必要があります。構築する。ただし、同じファイルを再度反復しようとすると、多くの場合、出力なしという予期しない結果が得られます。
この動作は、Python の基礎となるファイル反復メカニズムによるものです。最初のループを実行すると:
for line in f.readlines(): print(line)
ファイルは最後まで読み取られます。これは、テープ プレーヤーがテープの最後まで読み込むことに似ています。最後に到達すると、それ以上読み取るデータはありません。
ファイルを再度繰り返すには、ファイル ポインタを先頭にリセットする必要があります。これは 2 つの方法で実現できます。
1. f.seek(0) の使用:
f.seek(0) for line in f.readlines(): print(line)
f.seek(0) を呼び出すと、ファイル ポインタの位置がファイルの先頭に再配置され、ファイルを再度読み取ることができるようになります。
2.ファイルを閉じて再度開く:
f.close() f = open('baby1990.html', 'rU') for line in f.readlines(): print(line)
ファイルを閉じて再度開くと、ファイル ポインタが自動的に先頭にリセットされます。
代替: ブロックを使用した使用:
with ステートメントは、より便利で安全な方法を提供します。 files:
with open('baby1990.html', 'rU') as f: for line in f: print(line)
with ブロック内では、例外やループに関係なく、ブロックが終了するとファイルは自動的に閉じられます。これにより、手動でファイルを処理する必要がなくなります。
以上がPython ファイルを 2 回反復すると予期しない結果が生じるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。