python 將字節寫入文本文件


想在文本模式打開的文件中寫入原始的字節數據

將字節數據直接寫入文件的緩沖區即可

>>> import sys
>>> sys.stdout.write(b'Hello\n')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not bytes
>>> sys.stdout.buffer.write(b'Hello\n')
Hello
5
>>>

 類似的,能夠通過讀取文本文件的buffer 屬性來讀取二進制數據

I/O 系統以層級結構的形式構建而成。文本文件是通過在一個擁有緩沖的二進制模式文件上增加一個Unicode 編碼/解碼層來創建。buffer 屬性指向對應的底層文件。如果你直接訪問它的話就會繞過文本編碼/解碼層。
默認情況下,sys.stdout 總是以文本模式打開的。但是如果在寫一個需要打印二進制數據到標准輸出的腳本的話,可以使用上面演示的技術來繞過文本編碼層。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM