在做项目的时候,Python3会报错如下错误:

TypeError: can't concat bytes to str

意思是:

类型错误:无法将字节连接到字符串

类似的错误有:

TypeError: Can't convert 'bytes' object to str implicitly

这两种都是类型错误,类型不一致导致的。

can't concat bytes to str 解决方法

使用字节码的 decode()方法。

str = 'I am string'
byte = b' I am bytes'

#注意 下面这句代码会报错 “TypeError: can't concat bytes to str”。
# 正确写法是 s = str + byte.decode()
s = str + byte
print(s)

can't concat str to bytes 解决方法

错误代码1:

out = open('train_data.txt', 'w')
for sentence in sentences:
    #下面这行会报错 “TypeError:can't concat str to bytes”
    out.write(sentence.encode("utf-8")+"\n")
print("done!")

正确代码:

out = open('train_data.txt', 'w')
for sentence in sentences:
    out.write(sentence.encode("utf-8")+b"\n")
print("done!")

错误代码2:

with open('fujieace.txt', 'w') as f:
    for line in docLst:
        f.write(line + '\n')

这段代码会 报错“TypeError:can't concat str to bytes”

with open('fujieace.txt', 'wb') as f:
    for line in docLst:
        f.write(line + b'\n')

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐