我是Python新手,想學習語言結構。在Python中閱讀文件
我明白for
聲明和open
函數如何工作。但不能解釋這一段代碼的作品,轉儲文件sample_log.txt到屏幕上的內容如何:
for line in open("sample_log.txt"):
print line
這是我的問題:
- 是否
open
返回一個列表? - 當文件實際上被讀取到內存?
- 文件是一次一行讀取還是一次讀取?
我是Python新手,想學習語言結構。在Python中閱讀文件
我明白for
聲明和open
函數如何工作。但不能解釋這一段代碼的作品,轉儲文件sample_log.txt到屏幕上的內容如何:
for line in open("sample_log.txt"):
print line
這是我的問題:
open
返回一個列表?open
函數返回一個文件對象,它們是可迭代的,因此您可以使用for
表達式對它進行循環。
現在我明白了。那麼當文件被讀取並且是一行一行還是全部一次? –
@kamyar,逐行。這很好,因爲這意味着你可以輕鬆處理真正的大文件,而無需一次加載到內存中。 –
@KamyarSouri你也可以一次讀取整個文件:http://docs.python.org/tutorial/inputoutput。 HTML#方法-的文件對象 –
您應該考慮閱讀[文件對象](http://docs.python.org/library/stdtypes.html#file-objects)和[open()](http://docs.python .org/library/functions.html#打開)功能! – jathanism