Python 以二进制(应用程序八位字节流)文件类型格式写入文件

Python Write to file as binary (application-octet stream) file type format

我们有一个没有任何扩展名的文件。此文件由客户端提供并由另一个程序使用 下面给出了文件的示例内容。这只是 json 内容。

{"pid":23,"list":[{"pid":11}]}

从属性中我们可以看出,这个文件是二进制文件(application/octet-stream)。现在我们将读取此文件并将其加载为 json 并对它进行一些修改,最后我们将其写入一个新的结果文件。

import json

r = {"a": 2, "B": 3}

with open("jres", "wb") as w:
    txt = json.dumps(r, separators=(',', ':'))
    w.write(txt.encode())

写入文件后,文件类型变为plain/text。 如何创建与前一个文件类型相同的结果文件?如果我们使用结果文件 (plain/text),则应用程序不会接受它。因此,我们试图以可接受的格式写入文件,即 Binary (application/octet-stream)

with open('filename', 'w', encoding='utf-16') as fw:
    fw.write('ee')

这会有所帮助。

您可以尝试在写入文件流之前对内容进行编码

with open('filename', 'wb') as fw:
    content = 'ee'.encode('utf-16')
    fw.write(content)