日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

python二进制打开(rb)和文本格式打开(r)什么区别?

發布時間:2023/11/28 生活经验 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python二进制打开(rb)和文本格式打开(r)什么区别? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用 open() 函數以文本格式打開文件和以二進制格式打開文件,唯一的區別是對文件中換行符的處理不同。

在 Windows 系統中,文件中用 “\r\n” 作為行末標識符(即換行符),當以文本格式讀取文件時,會將 “\r\n” 轉換成 “\n”;反之,以文本格式將數據寫入文件時,會將 “\n” 轉換成 “\r\n”。這種隱式轉換換行符的行為,對用文本格式打開文本文件是沒有問題的,但如果用文本格式打開二進制文件,就有可能改變文本中的數據(將 \r\n 隱式轉換為 \n)。

而在 Unix/Linux 系統中,默認的文件換行符就是 \n,因此在 Unix/Linux 系統中文本格式和二進制格式并無本質的區別。

總的來說,為了保險起見,對于 Windows平臺最好用 b 打開二進制文件,保證元數據沒有被處理,對于 Unix/Linux 平臺,打開二進制文件,可以用 b,也可以不用。

建議打開文件的時候用下面with更好一點
例1

with open("test.txt","rb") as f:content=f.read()print(content)

例2

f = open("hello.txt", "wb") 
f.write("Hello Python!\n") 
f.close() 

例2存在2個問題:
1.文件讀取發生異常,但沒有進行任何處理;
2.可能忘記關閉文件句柄

注:
1.如果使用了with,則會自動關閉,而不管讀取過程中有無發生問題都會關掉
2.而使用with語句的話,能夠減少冗長,還能自動處理上下文環境產生的異常

總結

以上是生活随笔為你收集整理的python二进制打开(rb)和文本格式打开(r)什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。