python二進位制讀寫檔案與普通檔案

2021-07-10 20:35:09 字數 556 閱讀 9714

c[1]為email獲取的list郵件源字元,是bytes型別

no_msg_content=b'\r\n'.join(c[1])

msg_content=b'\r\n'.join(c[1]).decode('utf-8')

普通讀寫

write

d=open(str(e)+'.eml','w')

d.write(msg_content)

普通寫入經過utf8解碼的字串,utf8解碼 \r\n後 字串為兩個換行符\n\n

read

讀取結果

讀取結果!=寫入的msg_content

二進位制讀寫

write

d=open(str(e)+'.eml','wb')

d.write(no_msg_content)

二進位制寫入,沒有經過解碼, bytes(utf-8)字元 的\r\n

read

讀取結果==寫入的no_msg_content  

結果:使用email  parser().parsestr()解析兩個讀取到的字元,結果不相同

Python讀寫二進位制檔案

讀 file模式 rb import binascii s 16 binascii.b2a hex f.read 1 2 16 寫 file模式 wb import struct f.write struct.pack b int s 16,16 16 10,此處若不將16進製制資料轉換成10進製在...

二進位制檔案讀寫

define crt secure no warnings include include include size t fread void buffer,size t size,size t count,file stream size t fwrite const void buffer,si...

python的二進位制檔案讀寫

總的感覺,python本身並沒有對二進位制進行支援,不過提供了乙個模組來彌補,就是struct模組。python沒有二進位制型別,但可以儲存二進位制型別的資料,就是用string字串型別來儲存二進位制資料,這也沒關係,因為string是以1個位元組為單位的。import struct a 12.34...