-1

読み取って処理する大きなファイルがあります。

これは、ファイルを読み取って処理するためのより高速な方法です。

with open('file') as file:
  for line in file:
      print line

また

file = open('file')
lines = f.readlines()
file.close()

for line in lines:
  print line
4

2 に答える 2

4

前者はバッファリングされた読み取りを使用できます。後者では、ループを開始する前に、まずファイル全体をメモリに読み込む必要があります。

一般に、前者を使用することをお勧めします。後者より遅くなることはなく、メモリ使用量に優れています。

于 2012-05-29T05:28:15.953 に答える
-3

行ベースの大きなファイルがある場合は、次の行を使用して目標を達成することを強くお勧めします。

file = open('file')

for line in f.readlines():
  print line

file.close()

2つのポイントがあります、

  1. すべてのコンテンツをメモリに読み取ることは決して良い考えではありません。正しい方法はtrunk(line)によってそれらを読み取ることです。
  2. lines = f.readlines()を呼び出さないでください。これにより、すべてのコンテンツがメモリに読み込まれます。

try:open();execept:passPS:前者の「with」ステートメントは;の略です。readlinesはイテレータを使用して実装されているため、すべてのメモリを消費することはありません。

于 2012-05-29T05:32:52.457 に答える