小編給大家分享一下python中讀入數據的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Python的文本處理是經常碰到的一個問題,Python的文本文件的內容讀取中,有三類方法:read()、readline()、readlines(),這三種方法各有利弊,下面逐一介紹其使用方法和利弊。
read()
read()是最簡單的一種方法,一次性讀取文件的所有內容放在一個大字符串中,即存在內存中
file_object = open('test.txt') //不要把open放在try中,以防止打開失敗,那么就不用關閉了 try: file_context = file_object.read() //file_context是一個string,讀取完后,就失去了對test.txt的文件引用 # file_context = open(file).read().splitlines() // file_context是一個list,每行文本內容是list中的一個元素 finally: file_object.close() //除了以上方法,也可用with、contextlib都可以打開文件,且自動關閉文件, //以防止打開的文件對象未關閉而占用內存read()的利端:方便、簡單一次性獨讀出文件放在一個大字符串中,速度最快read()的 弊端:文件過大的時候,占用內存會過大
readline():
readline()逐行讀取文本,結果是一個list
with open(file) as f: line = f.readline() while line: print line line = f.readline()readline()的利端:占用內存小,逐行讀取readline()的弊端:由于是逐行讀取,速度比較慢
readlines():
readlines()一次性讀取文本的所有內容,結果是一個list
with open(file) as f: for line in f.readlines():
print line這種方法讀取的文本內容,每行文本末尾都會帶一個'\n'換行符 (可以使用L.rstrip('\n')去掉換行符)readlines()的利端:一次性讀取文本內容,速度比較快readlines()的弊端:隨著文本的增大,占用內存會越來越多。
最簡單、最快速的逐行處理文本的方法:直接for循環文件對象
file_object = open('test.txt','rU')try: for line in file_object: do_somthing_with(line)//line帶"\n"finally: file_object.close()
以上是python中讀入數據的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。