《Python Cookbook 3rd》筆記(5.17):將位元組寫入文字檔案
將位元組寫入文字檔案
問題
你想在文字模式開啟的檔案中寫入原始的位元組資料。
解法
將位元組資料直接寫入檔案的緩衝區即可,例如:
>>> 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 可能看起來有點特殊。預設情況下, sys.stdout 總是以文字模式開啟的。但是如果你在寫一個需要列印二進位制資料到標準輸出的指令碼的話,你可以使用上面演示的技術來繞過文字編碼層。
相關文章
- 《Python Cookbook 3rd》筆記(4.13):建立資料處理管道Python筆記
- python如何將資料寫入本地txt文字檔案Python
- Python的文字和位元組序列Python
- Python 3 學習筆記之——鍵盤輸入和讀寫檔案Python筆記
- python 寫入CSV檔案Python
- python——將excel檔案寫入mysql資料庫中PythonExcelMySql資料庫
- 【Python】將網格資料寫入到VTK檔案Python
- VBA建立文字檔案、讀寫文字檔案
- Python:讀寫檔案(I/O) | 組織檔案Python
- Python–logging模組不同級別寫入到不同檔案Python
- python---json檔案寫入PythonJSON
- 位元組碼檔案解剖
- 檔案排版(文字檔案讀寫)
- pyc位元組碼文字轉python程式碼Python
- C#讀取文字檔案和寫文字檔案C#
- python file 檔案操作筆記Python筆記
- 檔案輸入輸出處理(二)-位元組流
- git將指定內容寫入檔案Git
- python操作檔案寫入內容Python
- golang寫入檔案時,覆蓋前檔案(將前檔案清空)Golang
- 《Eloquent JavaScript 3rd》筆記JavaScript筆記
- 流暢的 Python – 3. 文字與位元組Python
- python 修改文字檔案Python
- Python筆記(五)——檔案處理Python筆記
- 讀取txt檔案將文字行組合成特定格式
- 《Python Cookbook v3.0.0》Chapter2 字串、文字PythonAPT字串
- python檔案建立、讀取和寫入Python
- Python學習筆記|Python之檔案操作Python筆記
- Python學習筆記|Python之特殊檔案Python筆記
- Python學習之路23-文字和位元組序列Python
- C++學習筆記----讀寫檔案C++筆記
- python 讀取文字檔案Python
- python將函式寫入模組中的小技巧Python函式
- 學習筆記(30):Python資料清洗實戰-Excel檔案讀寫筆記PythonExcel
- 說說在 Python 中,如何寫入檔案Python
- Class檔案結構&位元組碼指令
- 位元組碼檔案結構詳解
- Django筆記二十之手動編寫migration檔案Django筆記