• python can't concat str to bytes


    今天一位群友,Python3也报了类似的错误:

    TypeError:can't concat str to bytes

    TypeError:can't concat str to bytes

    原因:

    不管是报上面哪种错误?终其根本原因都是:类型不一致所造成的。

    一、can't concat bytes to str 解决方法

    解决方法也很简单,使用字节码的 decode()方法。

    示例:

    str = 'I am string'
    byte = b' I am bytes'
    s = str + byte
    print(s)

    报错“TypeError: can't concat bytes to str”。

    解决方法:

    s = str + byte.decode()

    二、can't concat str to bytes 解决方法

    为了好理解,我就简单拿几个示例来说吧!大家就能瞬间明白了。

    示例1:

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

    报错“TypeError:can't concat str to bytes”

    解决方法:

    out.write(sentence.encode("utf-8")+b"
    ")

    原因:write函数参数需要为str类型,需转化为str。

    示例2:

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

    报错“TypeError:can't concat str to bytes”

    解决方法:

    这里只需要改两个地方,一个是把’w’改为‘wb’('wb'是字节写入。),一个是把‘ ’改为b’ ’。

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

    总结:

    如果当你不知道它是什么类型的时候?python里可直接通过 type()函数 来查看数据类型。

  • 相关阅读:
    在当前页面中弹出新的标签页
    宝塔面板使用PM2命令提示Command Not Found解决方案
    python安装一些第三包的办法
    使用git时将部分文件写入.gitignore依旧上传的问题
    iOS APP上架各种被拒"悲剧"2021-6-29更新
    openststry(二)
    openresty
    kubectl explain IngressClass
    kubernetes edit Error
    微服务架构中的NGINX
  • 原文地址:https://www.cnblogs.com/gisoracle/p/14405674.html
Copyright © 2020-2023  润新知