Python中str类型的字符串写入二进制文件时报TypeError错的处理方式

在用二进制模式打开文件情况下,写入一个str对象时报错:TypeError: a bytes-like object is required, not ‘str’
出现该问题是因为Python严格区分二进制和文本文件的操作,二进制文件打开模式下写入的对象类型不能是str类型,只能是bytes类型,解决办法非常的简单,就是将str转换成bytes类型,具体实现有两种方案:

  1. 用encode()方法将str类型转换成bytes类型:
    fp.write(fd,text.encode()) #text为要写入的内容

  2. 直接将str类型转换成bytes类型:
    fp.write(fd,bytes(text,‘UTF-8’))

老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython

请大家多多支持,点赞、评论和加关注!谢谢!

posted on 2019-08-03 21:02  老猿Python  阅读(342)  评论(0编辑  收藏  举报