Python文件如何讀取read()函數(shù)
read()、readline()、readlines()函數(shù)支持以 **r、r+、rb、rb+**四種模式打開(kāi)的文件。
read()函數(shù)
如果文件是以文本模式(非二進(jìn)制模式)打開(kāi)的,則 read() 函數(shù)會(huì)逐個(gè)字符進(jìn)行讀?。?/p>
反之,如果文件以二進(jìn)制模式打開(kāi),則 read() 函數(shù)會(huì)逐個(gè)字節(jié)進(jìn)行讀取。
示例文件
城市列表.txt的文件內(nèi)容為:
文件所在路徑為 C:\Users\Administrator\Desktop\城市列表.txt 的內(nèi)容如下:
文件編碼 utf8
北京市
天津市
重慶市
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt',encoding='utf8') as f: print(f.read()) 北京市 天津市 重慶市
- 默認(rèn)是
r的模式讀取文件 - 這里以編碼
utf8格式為例打開(kāi)文件 - 如果不設(shè)置編碼格式會(huì)出錯(cuò)
read()函數(shù)默認(rèn)讀取全部文件內(nèi)容
如果是二進(jìn)制的文件內(nèi)容,read()函數(shù)會(huì)逐字節(jié)讀取
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt','rb+') as f: print(f.read()) b'\xe5\x8c\x97\xe4\xba\xac\xe5\xb8\x82\r\n\xe5\xa4\xa9\xe6\xb4\xa5\xe5\xb8\x82\r\n\xe9\x87\x8d\xe5\xba\x86\xe5\xb8\x82'
- 以
rb+二進(jìn)制的模式讀取文件 城市列表.txt文件中換行符\n也會(huì)被讀取- 二進(jìn)制不顯示換行效果
read()函數(shù)可以用size參數(shù)指定讀取多少字節(jié)/字符
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt',encoding='utf8') as f: print(f.read(2)) 北京
- 上述就是指定讀取2個(gè)字符
--------如果文件編碼為gbk, 有時(shí)候不知道文件編碼,為了避免打開(kāi)文件出現(xiàn)UnicodeDecodeError異常,可以用下面的’萬(wàn)能‘方法
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt','rb') as f:
print(f.read().decode('utf8'))
北京市
天津市
重慶市
- 使用
decode()解碼 - 文件中地名后面已經(jīng)有
\n換行 - 但是,結(jié)果print打印會(huì)又增加一個(gè)
\n換行 - ?納尼
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用Python實(shí)現(xiàn)換行符轉(zhuǎn)換的腳本的教程
這篇文章主要介紹了用Python實(shí)現(xiàn)換行符轉(zhuǎn)換的腳本的教程,代碼非常簡(jiǎn)單,包括一個(gè)對(duì)操作說(shuō)明的功能的實(shí)現(xiàn),需要的朋友可以參考下2015-04-04
解決Tensorflow sess.run導(dǎo)致的內(nèi)存溢出問(wèn)題
今天小編就為大家分享一篇解決Tensorflow sess.run導(dǎo)致的內(nèi)存溢出問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02
pycharm最新免費(fèi)激活碼至2099年(21.3.18親測(cè)可用)
這篇文章主要介紹了pycharm最新的激活碼及激活碼的使用方法,幫助大家更好的利用pycharm學(xué)習(xí)python,感興趣的朋友可以了解下。2021-03-03
Python中使用kitti數(shù)據(jù)集實(shí)現(xiàn)自動(dòng)駕駛(繪制出所有物體的行駛軌跡)
這篇文章主要介紹了Python中使用kitti數(shù)據(jù)集實(shí)現(xiàn)自動(dòng)駕駛——繪制出所有物體的行駛軌跡,本次內(nèi)容主要是畫(huà)出kitti車的行駛的軌跡,需要的朋友可以參考下2022-06-06
Python中SQLite數(shù)據(jù)庫(kù)的使用
SQLite是一種輕型關(guān)系型數(shù)據(jù)庫(kù),常用于嵌入式設(shè)備和移動(dòng)應(yīng)用中。Python中內(nèi)置了SQLite模塊,可用于連接和操作SQLite數(shù)據(jù)庫(kù)。通過(guò)Python SQLite模塊,可以方便地創(chuàng)建、查詢和修改數(shù)據(jù)庫(kù)中的數(shù)據(jù),支持事務(wù)處理和數(shù)據(jù)庫(kù)操作的原子性保證2023-04-04
PyTorch中Tensor的維度變換實(shí)現(xiàn)
這篇文章主要介紹了PyTorch中Tensor的維度變換實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
PyInstaller如何打包依賴文件至目標(biāo)程序目錄
這篇文章主要介紹了PyInstaller如何打包依賴文件至目標(biāo)程序目錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02

