5

私が行った場合:

os.chdir(path)
f = open(file,"r")

lines = f.readlines()
print "without assignment " + str(len(f.readlines()))
print "with assignment     " + str(len(lines))

出力は同じになると思いますが、そうではありません:

without assignment 0
with assigment     1268

どうしてこれなの?

4

1 に答える 1

7

ファイル オブジェクトfは、ファイルの行に対する反復子です。f.readlines()ファイルカーソルを最後に移動しますが、行を保存linesします。これが、2番目の例が機能する理由です。最初の例は、ファイルの終わりに達し、読み取る行が残っていないため、機能しません。f.seek(0)これを機能させたい場合は、カーソルをファイルの先頭に戻すために使用できます。

于 2012-07-25T14:10:29.217 に答える