2011-12-09 167 views
3

我是Python新手,想學習語言結構。在Python中閱讀文件

我明白for聲明和open函數如何工作。但不能解釋這一段代碼的作品,轉儲文件sample_log.txt到屏幕上的內容如何:

for line in open("sample_log.txt"): 
    print line 

這是我的問題:

  1. 是否open返回一個列表?
  2. 當文件實際上被讀取到內存?
  3. 文件是一次一行讀取還是一次讀取?
+3

您應該考慮閱讀[文件對象](http://docs.python.org/library/stdtypes.html#file-objects)和[open()](http://docs.python .org/library/functions.html#打開)功能! – jathanism

回答

4

open函數返回一個文件對象,它們是可迭代的,因此您可以使用for表達式對它進行循環。

+0

現在我明白了。那麼當文件被讀取並且是一行一行還是全部一次? –

+1

@kamyar,逐行。這很好,因爲這意味着你可以輕鬆處理真正的大文件,而無需一次加載到內存中。 –

+0

@KamyarSouri你也可以一次讀取整個文件:http://docs.python.org/tutorial/inputoutput。 HTML#方法-的文件對象 –