博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 3.5: TypeError: a bytes-like object is required, not 'str'
阅读量:4994 次
发布时间:2019-06-12

本文共 882 字,大约阅读时间需要 2 分钟。

出现该错误往往是通过open()函数打开文本文件时,使用了‘rb’属性,如:fileHandle=open(filename,'rb'),则此时是通过二进制方式打开文件的,所以在后面处理时如果使用了str()函数,就会出现该错误,该错误不会再python2中出现。

具体解决方法有以下两种:

第一种,在open()函数中使用‘r’属性,即文本方式读取,而不是‘rb’,以二进制文件方式读取,可以直接解决问题。

第二种,在open()函数中使用‘rb’,可以在使用之前进行转换,有以下实例,来自:http://stackoverflow.com/questions/33054527/python-3-5-typeerror-a-bytes-like-object-is-required-not-str

 

1:查找文件时:with open(fname, 'rb') as f:                if b'some-pattern' in tmp: continue2:使用socketl连接时:mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)mysock.connect(('www.py4inf.com', 80))mysock.send(**b**'GET http://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')while True:    data = mysock.recv(512)    if ( len(data) < 1 ) :        break    print (data);mysock.close()3:提前进行编码:with open(fname, 'rb') as f:    lines = [x.decode('utf8').strip() for x in f.readlines()]

 

转载于:https://www.cnblogs.com/zlgxzswjy/p/6208809.html

你可能感兴趣的文章
HttpClient获取Cookie的两种方式
查看>>
Windows 7中的电源计划及维护
查看>>
Spring MVC 配置类 WebMvcConfigurerAdapter
查看>>
js获取url参数
查看>>
程序员如何优雅的挣零花钱?
查看>>
推荐 2 个简历模板及 2 大加分技巧
查看>>
关于伪类选择器中一个冒号和两个冒号的区别
查看>>
理解敏捷开发准则
查看>>
[beta cycle]daily scrum10_2.25
查看>>
【转载】和 Thrift 的一场美丽邂逅
查看>>
CM_RESOURCE_LIST structure 分类: wind...
查看>>
css单位pr,em,与颜色
查看>>
Angularjs笔记(三)
查看>>
@ControllerAdvice 标签为起作用
查看>>
lambda
查看>>
ubuntu16.04下使用python3开发时,安装pip3与scrapy,升级pip3
查看>>
python网络编程基础
查看>>
selenium+maven+testng+IDEA+git自动化测试环境搭建(二)
查看>>
Mini2440 UART原理及使用
查看>>
Linux学习第六篇之文件处理命令ln(链接命令)
查看>>