0

我正在使用 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),有什么想法吗?

提前感谢您的帮助!

4

1 回答 1

3

在 Python 3 中,如果您尝试write使用str. 您要编写的是字节文字(请参阅python 2 到 3 指南),因此请更改代码以实际使用字节文字

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

fo.write(junk)
于 2013-07-10T17:09:39.117 回答