2016-05-19 4 views
0

タイプによると、fileは関数であり、file.readlines()は行のリストです。しかし、なぜこの二つは、次のコードで同じ結果を生成します:"x in file/file.readlines()"の相違点

file = open("test.txt") 
for x in file: 
    print x 

file = open("test.txt") 
for x in file.readlines(): 
    print x 

答えて

3

readlines()はあなたがforを使用して反復その上list()、にファイル全体を読み込みます。しかし、fileオブジェクト自体を反復するだけでループの繰り返しごとに一度に1行ずつ読むことができます。これは、ファイルの内容全体を一度にメモリに格納しないので、はるかに効率的です。

+0

ファイル対ファイルの反復処理はどうですか?xreadlines()? – Pythoner

+1

http://stackoverflow.com/q/8555722/476を参照してください。 – deceze