python3报错 TypeError: can’t concat bytes to str 原因与解决方法

在做项目的时候,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')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wwwarewow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值