您好,登錄后才能下訂單哦!
這篇文章主要講解了“python如何讀取大文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python如何讀取大文件”吧!
很顯然4G內存要一次性的加載大小為8G的文件是不現實的,遇到這種情況必須要考慮多次讀取和分批次處理。在Python中讀取文件可以先通過open
函數獲取文件對象,在讀取文件時,可以通過read
方法的size
參數指定讀取的大小,也可以通過seek
方法的offset
參數指定讀取的位置,這樣就可以控制單次讀取數據的字節數和總字節數。除此之外,可以使用內置函數iter
將文件對象處理成迭代器對象,每次只讀取少量的數據進行處理,代碼大致寫法如下所示。
with open('...', 'rb') as file: for data in iter(lambda: file.read(2097152), b''): pass
在Linux系統上,可以通過split
命令將大文件切割為小片,然后通過讀取切割后的小文件對數據進行處理。例如下面的命令將名為filename
的大文件切割為大小為512M的多個文件。
split -b 512m filename
如果愿意, 也可以將名為filename
的文件切割為10個文件,命令如下所示。
split -n 10 filename
擴展:外部排序跟上述的情況非常類似,由于處理的數據不能一次裝入內存,只能放在讀寫較慢的外存儲器(通常是硬盤)上。“排序-歸并算法”就是一種常用的外部排序策略。在排序階段,先讀入能放在內存中的數據量,將其排序輸出到一個臨時文件,依此進行,將待排序數據組織為多個有序的臨時文件,然后在歸并階段將這些臨時文件組合為一個大的有序文件,這個大的有序文件就是排序的結果。
Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。
感謝各位的閱讀,以上就是“python如何讀取大文件”的內容了,經過本文的學習后,相信大家對python如何讀取大文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。