python 將文字檔案的內容讀入可以操作的字串變數非常容易。檔案物件提供了三個「讀」方法:read()
、readline()
和readlines()
。呼叫read()
會一次性讀取檔案的全部內容,如果檔案超過記憶體大小,會造成memoyerror,所以,為保險起見,可以反覆呼叫read(size)
方法,每次最多讀取size個位元組的內容。另外,呼叫readline()
可以每次讀取一行內容,呼叫readlines()
一次讀取所有內容並按行返回list。如果檔案很小,read()
一次性讀取最方便;如果不能確定檔案大小,反覆呼叫read(size)
比較保險;如果是配置檔案,呼叫readlines()
最方便
f = open(filename, "r")
data = f.read()
print(data)
f.close()
處理大檔案是很容易想到的就是將大檔案分割成若干小塊處理,處理完每一小塊後釋放該部分記憶體。
def read_in_chunks(file_obj, chunk_size=4096):
"""function to read a file piece by piece.
default chunk size: 4kb.
"""while true:
data = file_obj.read(chunk_size)
if not data:
break
yield data
f = open("filename")
for chuck in read_in_chunks(f):
#do_something(chunk)
f.close()
with
語句開啟和關閉檔案,包括丟擲乙個內部塊異常。for line in f
檔案物件f
視為乙個迭代器,會自動的採用緩衝io
和記憶體管理,所以不必擔心大檔案。
with open(filename, "rb") as f:
for line in f:
process(line) #
面對百萬行的大型檔案使用with open()是沒有問題的,但是這裡面引數的不同也會導致不同的效率。經過測試發現引數為"rb"時的效率比"r"高很多。由此可知二進位制讀取依然是最快的模式
python高階讀取檔案 Python讀取檔案內容
開啟檔案之後,就可以讀取檔案的內容,檔案物件提供多種讀取檔案內容的方法。開啟test.txt檔案 f open test.txt r 開啟test.txt檔案 f.close 關閉檔案 test.txt檔案有以下內容 hello world.hello python.hello imooc.讀取若干...
Python檔案讀取
python提供了多種方法實現檔案讀取操作 1 read 2 readline 3 readlines 4 xreadlines 很多人也在糾結到底應該選擇哪種方式,甚至疑問在處理大檔案時應該選擇哪種方式,因為擔心檔案過大導致記憶體佔用率過高甚至無法完全載入。其實,這個問題是多餘的,在引入了迭代器和...
python檔案讀取
1.讀取txt檔案 read 讀取整行檔案 readline 讀取一行資料 readines 讀取所有行的資料 讀取txt檔案 user file open user info.txt r lines user file.readlines forline inlines username line...