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