国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  Python面試題  > 【Python面試題】如何讀取大文件?

【Python面試題】如何讀取大文件?

來源:千鋒教育
發布人:wjy
時間: 2022-08-23 10:29:00 1661221740

如何讀取大文件,例如內存只有4G,如何讀取一個大小為8G的文件?

很顯然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

擴展:外部排序跟上述的情況非常類似,由于處理的數據不能一次裝入內存,只能放在讀寫較慢的外存儲器(通常是硬盤)上。“排序-歸并算法”就是一種常用的外部排序策略。

在排序階段,先讀入能放在內存中的數據量,將其排序輸出到一個臨時文件,依此進行,將待排序數據組織為多個有序的臨時文件,然后在歸并階段將這些臨時文件組合為一個大的有序文件,這個大的有序文件就是排序的結果。

千鋒教育

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT