这是我的代码。
query = cgi.parse_multipart(rfile, pdict)
upfilecontent = query.get('file')
这里,我想将upfilecontent[0]
保存到二进制模式的文件中。
TIA
答案 0 :(得分:2)
由于该值已经是str
,您所要做的就是以二进制模式打开文件并.write()
:
with file('name.bin', 'wb') as f: # 'w' for writing, 'b' for binary
f.write(d['key_1'])
如果您想将文本重新解释为实际上是某种十六进制转储或其他内容,那么您必须更加具体。
答案 1 :(得分:0)
def writeBinaryData(binaryData):
f = open("data.bin", "wb")
f.write(binaryData)
文件模式字符串中的“b”指定您要读取/写入二进制数据。
但是,您的示例看起来像key_1的值是十六进制字符串“0x330xba”,您需要先将其转换为二进制文件。
答案 2 :(得分:0)
根据您提出的最新信息,您可能希望将字节流写入二进制文件。正如前面的答案所示,这很简单,只需确保首先以二进制模式打开文件(第二个参数中的尾部'b'打开)。
f = open("output_file_name", "wb")
f.write(upfilecontent[0])
f.close()
如果不起作用,请尝试打印repr(upfilecontent[0][:64])
。如果结果看起来像是一系列不带前导0x
的十六进制数字,那么在写入之前,您需要将其解码为字节值。