传入byte对象时由bytes.join引发的TypeError

时间:2015-01-17 01:07:13

标签: python-3.x typeerror

我正在尝试加入两个字节对象:

header = struct.pack(STRFMT, MAGIC, VERSION,
            command, self.seq, self.session)

data = dataStr.encode() # dataStr is a String

print(type(header)) # <class 'bytes'>
print(type(header)) # <class 'bytes'>

header.join(data)

但是在运行时,我在调用header.join时遇到以下TypeError:

TypeError: sequence item 0: expected bytes, int found

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您应该在这里使用header + datab''.join方法迭代bytes对象,在Python 3上产生int

>>> list(b'abc')
[97, 98, 99]

另见PEP 467 -- Minor API improvements for binary sequences