繁体   English   中英

Python将十六进制写入文件

[英]Python writing hex to a file

我正在使用Python 3,但我希望能够将十六进制写入这样的文件,但我无法使其正常工作。 这给我一个TypeError,如果对其进行编码,则输出到文件的信息不正确。

junk = '\x90' * 5
junk += '\xcc' * 5

fo = open("foo.list", "wb")

fo.write(junk)
fo.close()

这给了我一个type error, str doesn't support the buffer interface ,如果我这样做的话

junk = '01BDF23A'
junk += '90' * 5
junk += 'cc' * 5


fo = open("foo3.m3u", "wb")
fo.write(binascii.unhexlify(junk))
fo.close()

它有效,但我想将它们定义为十六进制(\\ x90),有什么想法吗?

在此先感谢您的帮助!

在Python 3中,如果尝试write str ,则必须显式指定编码。 您尝试编写的是字节文本(请参阅python 2至3指南 ),因此将代码更改为实际使用字节文本

junk = b'\x90' * 5
junk += b'\xcc' * 5

fo.write(junk)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM