zoukankan      html  css  js  c++  java
  • 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()函数 来查看数据类型。

  • 相关阅读:
    FIR滤波器相关解释
    FIR数字信号滤波器
    图像中的插值
    对DDS的深度认识
    嵌入式媒体处理(EMP)中的编码和解码
    FPGA噪声干扰
    视频压缩概述
    ALTERA DDRII IP核使用
    MyEclipse的使用
    Java开发API文档资源
  • 原文地址:https://www.cnblogs.com/gisoracle/p/14405674.html
Copyright © 2011-2022 走看看