Python文件如何讀取read()函數
read()
、readline()
、readlines()
函數支持以 **r、r+、rb、rb+**四種模式打開的文件。
read()函數
如果文件是以文本模式(非二進制模式)打開的,則 read() 函數會逐個字符進行讀取;
反之,如果文件以二進制模式打開,則 read() 函數會逐個字節(jié)進行讀取。
示例文件
城市列表.txt的文件內容為:
文件所在路徑為 C:\Users\Administrator\Desktop\城市列表.txt 的內容如下:
文件編碼 utf8
北京市
天津市
重慶市
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt',encoding='utf8') as f: print(f.read()) 北京市 天津市 重慶市
- 默認是
r
的模式讀取文件 - 這里以編碼
utf8
格式為例打開文件 - 如果不設置編碼格式會出錯
read()
函數默認讀取全部文件內容
如果是二進制的文件內容,read()
函數會逐字節(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+
二進制的模式讀取文件 城市列表.txt
文件中換行符\n
也會被讀取- 二進制不顯示換行效果
read()函數可以用size
參數指定讀取多少字節(jié)/字符
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt',encoding='utf8') as f: print(f.read(2)) 北京
- 上述就是指定讀取2個字符
--------如果文件編碼為gbk
, 有時候不知道文件編碼,為了避免打開文件出現UnicodeDecodeError
異常,可以用下面的’萬能‘方法
>>> with open(r'C:\Users\Administrator\Desktop\城市列表.txt','rb') as f: print(f.read().decode('utf8')) 北京市 天津市 重慶市
- 使用
decode()
解碼 - 文件中地名后面已經有
\n
換行 - 但是,結果print打印會又增加一個
\n
換行 - ?納尼
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解決Tensorflow sess.run導致的內存溢出問題
今天小編就為大家分享一篇解決Tensorflow sess.run導致的內存溢出問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02pycharm最新免費激活碼至2099年(21.3.18親測可用)
這篇文章主要介紹了pycharm最新的激活碼及激活碼的使用方法,幫助大家更好的利用pycharm學習python,感興趣的朋友可以了解下。2021-03-03Python中使用kitti數據集實現自動駕駛(繪制出所有物體的行駛軌跡)
這篇文章主要介紹了Python中使用kitti數據集實現自動駕駛——繪制出所有物體的行駛軌跡,本次內容主要是畫出kitti車的行駛的軌跡,需要的朋友可以參考下2022-06-06