tft每日頭條

 > 科技

 > python讀取文件的一般流程

python讀取文件的一般流程

科技 更新时间:2024-12-04 15:04:30

本文詳細說明文件讀取時,read()中參數的解釋,可直接滑到文尾看總結.

f.read()讀取文件的整個内容,返回的是字符串

如果一次性讀取比如10G的文件,内存就直接爆了,所以需要限制單次讀取的大小.

read()可接收size參數,在官方文檔提示中

python讀取文件的一般流程(python關于文件讀取read裡面的參數解釋)1

官方文檔提示的size參數

size參數是整數型,如果不設置.默認f,read()默認讀取字節數-1

也就是說在文件管理器中,顯示為字節數量為x,那麼默認size的值為x-1

python讀取文件的一般流程(python關于文件讀取read裡面的參數解釋)2

文件管理中的文件屬性,紅框中的值減1就是size值

-----------------------

案例一:

讀取下面這個文件的内容

python讀取文件的一般流程(python關于文件讀取read裡面的參數解釋)3

箭頭所指就是文件的末尾

代碼及其運行結果如下:

python讀取文件的一般流程(python關于文件讀取read裡面的參數解釋)4

265997字節内容全部讀取到并輸出了

-----------------------

案例二:

依舊是讀取上面那個265 997 字節大小的文件

代碼及其運行結果如下:

python讀取文件的一般流程(python關于文件讀取read裡面的參數解釋)5

讀取1024 * 87 100 輸出的内容

從圖中可以看到:

實際是265,997 字節(約為259k)大小的文件,

隻讀取1024 * 87 100字節(約87k)就輸出了所有的内容 !

不是說好的size值多大就讀取多少文件内容嗎?怎麼設置比size小的多的值也讀取了全部的文件内容?且看案例三:

-----------------------

案例三:代碼及其運行結果

python讀取文件的一般流程(python關于文件讀取read裡面的參數解釋)6

代碼及其結果

這次讀取的内容的大小為 整個内容的字符串長度,依舊成功輸出了幾乎(少4個字)全部的内容.

到這應該能明白了,

utf-8的編碼的文本中,一個漢字占三個字節,一個英文字母占一個字節.

又由于在文本文件讀取模式,size的計數是以Unicode字符的個數計數的,

也就是說列舉的三個案例size的計數不是字節,而是字符.

-----------------------

繞了這麼多彎子,總結.

讀取文件限制最大讀取大小時,要注意

在文本文件讀取模式,size的計數是以Unicode字符的個數計數的,

在二進制文件讀取模式下,size計數是以字節為單位計數。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved