[英]How do I write binary data to a text file in Python?
我需要寫入文本,然后將二進制數據寫入文件。 例如,我想用內容編寫文件:
BESTFORMAT
NUMLINES 42
FIELDS FOO BAR SPAM
DATATYPES INT32 FLOAT64 FLOAT64
FILETYPE BINARY
???d?'Ӈ T???'Ѥ??X??\??
?? R??&??X??\???????
??zR??X??\????????
...
但是,在 Python 中,您無法以可以寫入 ASCII 數據和二進制數據的方式打開文件。
我試過:
將我的二進制數據轉換為文本(不好,因為它輸出b'5 42.7 0.8'
將我的文本數據編碼為二進制並將文件作為二進制打開(不好,因為那時我有一個二進制文件)。 編輯:事實證明這是有效的,但我需要在我的文本編輯器中使用 UTF-8 編碼打開文件
多種解決方案:
with open("file", "w") as f:
f.write("text")
with open("file", "ab") as f:
f.write(b"bytes")
with open("file", "wb") as f:
f.write("text".encode())
f.write(b"bytes")
import io
with open("file", "wb") as f:
f_text = io.TextIOWrapper(f, write_through=True)
f_text.write("text")
f.write(b"bytes")
注意:一些文本編輯器會在文件中看到非 utf-8 字節,並以十六進制模式查看文件。 要查看文本,請在文本編輯器中以 UTF-8 編碼重新打開文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.