一劳永逸解决:TypeError: cannot use a string pattern on a bytes-like object

【数据集】GPM IMERG Daily Precipitation Dataset GPM IMERG Daily Precipitation Dataset 阅读详情

TypeError: cannot use a string pattern on a bytes-like object

最近写代码,python2和python3之间切换,难免会碰到一些问题,有些方法比如re模块的findall要求传入的是字符串格式的参数,urllib.request.urlopen(url).read()返回的是bytes类型(这个是python3中才有的类型,所以很多python2中的方法都相应更改了)的,这样传参就会报以上错误。

python3中Unicode字符串是默认格式(就是str类型),ASCII编码的字符串(就是bytes类型,bytes类型是包含字节值,其实不算是字符串,python3还有bytearray字节数组类型)要在前面加操作符b或B;python2中则是相反的,ASCII编码字符串是默认,Unicode字符串要在前面加操作符u或U

一劳永逸的解决方法就是根据你传进来的参数自动辨别编码格式,然后进行相应的解码,就搞定啦:

import chardet #需要导入这个模块,检测编码格式
encode_type = chardet.detect(html)
html = html.decode(encode_type[‘encoding’]) #进行相应解码,赋给原标识符(变量)
1.从str到bytes:调用方法encode().
2.编码是把Unicode字符串以各种方式编码成为机器能读懂的ASCII字符串
3.从bytes到str:调用方法decode().

#原文:https://blog.youkuaiyun.com/jieli_/article/details/70166244

高项备考论文:规划绩效域 阅读详情

相关推荐

音视频入门:H264、H265概念总结

添加链接描述 什么是H.264与H.265 H.264与H.265都是视频压缩格式,由于视频本身的码流太大,所以需要经过压缩然后再通过网络进行传输。H.264是目前比较主流的压缩算法,像视频会议设备一般都采用这个编码格式。基础的H.264可以支持在1M带宽下传输720P30帧/秒的图像;H.264 HIGH PROFILE支持在512K带宽下传输720P30帧/秒的图像。 H.265是比较新的压缩算法,可以更一步提高压缩比,随着我们现在生活中出现的视频格式越来越大(比如现在基本都是1080P甚至4K的显示器

weixin_40673765的博客 8937

TypeError: cannot use a string pattern on a bytes-like object

一劳永逸解决:TypeError: cannot use a string pattern on a bytes-like object TypeError: cannot use a string pattern on a bytes-like object python2和python3之间切换,难免会碰到一些问题,有些方法比如re模块的findall要求传入...

didenglei8217的博客 1078

Halcon Socket TCP通讯:从算子调用到工业视觉系统集成

本文详细介绍了Halcon Socket TCP通讯在工业视觉系统中的应用与优化技巧。从基础算子调用到高并发处理,再到与PLC、机器人及MES系统的集成实战,提供了全面的解决方案和性能优化建议,帮助开发者高效实现工业视觉系统的通讯需求。

weixin_33502772的博客 248

解决:cannot use a string pattern on a bytes-like object

比如这段代码现在出现TypeError: cannot use a string pattern on a bytes-like object import urllib.request import re def getHtmlContent(url): page = urllib.request.urlopen(url) return page.read() def get...

ZYYRWish_97的博客 9392

STM32之W5500网络通信_w5500 profinet

*初始化8个socket*/setSHAR(ConfigMsg.mac);/*配置Mac地址*/setSUBR(ConfigMsg.sub);/*配置子网掩码*/setSIPR(ConfigMsg.lip);/*配置Ip地址*/setGAR(ConfigMsg.gw);/*配置默认网关*/setRTR(2000);/*设置溢出时间值*/setRCR(3);/*设置最大重新发送次数*/

2501_90250923的博客 1461

Type-C转DP1.4转C双向互传转接线方案

Type-C转DP双向互转方案的核心在于利用Type-C接口中的Alt Mode(交替模式)功能。通过利用Type-C接口的Alt Mode功能,该方案实现了Type-C接口与DP接口之间的双向互传,极大地丰富了用户的视觉体验。在选择Type-C转DP双向互转方案时,用户需要关注兼容性、性能需求、线缆长度和品牌等因素,以确保获得最佳的传输质量和使用体验。因此,Type-C转DP双向互转方案应运而生,旨在实现Type-C接口与DP接口之间的无缝连接,满足用户对高效能和高清晰度视频传输的需求。

m0_70875024的博客 4977

【Python】TypeError: cannot use a string pattern on a bytes-like object解决方案

TypeError: cannot use a string pattern on a bytes-like object解决方案 图片: 类型匹配问题,一个是string类型,一个是bytes类型,应将string类型的数据转化为’utf-8’,即s = s.decode(‘utf-8’)。 ...

开发小鸽 5338

80MHz~100MHz频谱分析仪设计

由理论分析可知,经过乘法器后输出的信号为频率为w1+w2的高频信号和w1-w2的低频信号,除了想要采样的直流信号外,最小的信号频率为100kHz。因此,经过一系列推导可以得到该滤波器的元件C1,C2,C3,R1,R2的近似值分别为:C1=2.36nF,C2=32.1nF,C3=1.07nF,R1=1.39k,R2=2.84k。AK,此时的频率w2即为被测信号的频率,待测信号源电压幅度为,因此为了能达到直流采样的设计,我们将本振源的频率输出范围做成80~110 MHz,提高了题目的频率要求。

qq_48771816的博客 5242

(转)TypeError: cannot use a string pattern on a bytes-like object 解决办法及原理

TypeError: cannot use a string pattern on a bytes-like object 最近写代码,python2和python3之间切换,难免会碰到一些问题,有些方法比如re模块的findall要求传入的是字符串格式的参数,urllib.request.urlopen(url).read()返回的是bytes类型(这个是python3中才有的类型,所以很多p...

weixin_40624269的博客 2929

btstack ble ota开发笔记(2)-mcuboot移植

紧接上一篇文章,要实现一个完整的ota demo,除了实现ota image的传输通道外,还需要“bootloader”这个角色来帮我们实现ota image的校验、安全、引导以及启动,这里我选择开源的组件mcuboot,下面开始介绍mcuboot在stm32f4-discovery上的移植。首先估算下bootloader & application image的大小,确定好flash的分布情况,因为后续会涉及到flash的操作(读、写、擦除),为了方便程序的编写,各个image area在flash中的起

weixin_38177846的博客 2350

基于相场法模拟金属铜的晶粒的长大过程附matlab完整代码

晶粒生长是一种重要的材料形态演化过程,对于材料的性能和制备有着非常重要的影响。相场法是一种将材料结构和热力学性质联系起来的方法,它能够有效地模拟晶粒的长大过程并预测材料的结构和性能。本文所采用的相场模型是基于Cahn-Hilliard方程和Allen-Cahn方程的二次相场模型。其中,Cahn-Hilliard方程描述了晶界的自由能密度,而Allen-Cahn方程则描述了晶粒的彼此之间的界面能密度。本篇文章将介绍如何使用相场法模拟金属铜的晶粒的长大过程,并提供完整的MATLAB代码供读者参考。

m0_47037246的博客 1382

十二(1)、Python遇到的问题

1、写爬虫代码,报错: TypeError: cannot use a string pattern on a bytes-like object 出错的主要原因是因为: TypeError: can’t use a string pattern on a bytes-like object. html用decode(‘utf-8’)进行解码,由bytes变成string。 py3的urlope...

Angular_need的博客 363

【系统架构设计师】二十三、通信系统架构设计理论与实践①

通信网络主要形式:局域网、广域网、移动通信网。 局域网网络架构有 4 种类型:单核心架构、双核心架构、环型架构、层次型架构。 广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成。通常,在大型网络构建中,通过广域网将分布在各地域的局域网互连起来,形成一个大的网络。 移动通信网为移动互联网提供了强有力的支持,尤其是5G 网络为个人用户、垂直行业等 提供了多样化的服务。

帅次的博客 3763

cannot use a string pattern on a bytes-like object

            cannot use a string pattern on a bytes-like object   转载:https://blog.csdn.net/u013066244/article/details/53120731  这个错误我是发生在以下代码 re.findall(pattern, data) 这个时候如何data的数据类型为bytes,时,就会包这...

stay hungry ! stay foolish! 3842

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TypeError: cannot use a string pattern on a bytes-like object的解决办法

#!/usr/python3 import re import urllib.request def gethtml(url): page=urllib.request.urlopen(url) html=page.read() return html def getimg(html): reg = r'src="(.*?\.jpg)"' ...

weixin_30655219的博客 565

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python-TypeError: cannot use a string pattern on a bytes-like object

错误表现:   写程序时报错TypeError: cannot use a string pattern on a bytes-like object   查了好多处,起初以为是我的文件是二进制保存的,但是在Notepad++中将其改为UTF-8编码后问题依旧出现。下面是报错那行的代码,此行想要将四个值转换成str类型: group.loc[idx, 'TCID'] = str(group.loc...

留下的,留不下的 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux系统下crypto模块报错:TypeError: cannot use a bytes pattern on a string-like object

这里用偏函数的方法对Popen进行了重新定义,但是后续很多库中是会使用subprocess.Popen去执行命令;这时候他们使用的就不再是原生Popen方法了,难免会有影响;刚好这里ctype模块里util.py再次使用subprocess.Popen时,p.stdout.read()取出的数据类型就不正确了!排查发现项目中对subprocess.Popen进行了重写,在执行execjs的时候一般中文乱码需要将编码固定,正常写个简单的demo导入RSA是不报错的,说明源码是没问题的,那就从项目中找问题。

勿忘初心方得始终 1190

解决python报错“cannot use a string pattern on a bytes-like object”

遇到“cannot use a string pattern on a bytes-like object”报错如何解决,看这个就够了

qq_19313495的博客 3666

Error: cannot use a string pattern on a bytes-like

https://blog.csdn.net/J__Max/article/details/82937774 解决方法是:把’html’类型调整一下:html.decode(‘utf-8’) 、 from urllib import request as rr import re url = 'http://www.baidu.com' content = rr.urlopen(ur...

u011159607的博客 898

rosrun tf view_frames时报错TypeError: cannot use a string pattern on a bytes-likeobject

目前还在学习ROS+无人机框架中,,,更多更新文章详见我的个人博客主页。

MGodmonkey的专属博客 930

Python中使用Re模块TypeError: cannot use a string pattern on a bytes-like object 解决办法

由上面红色的字体可以看出,使用python中的re模块匹配正则表达式的时候,填入的参数是一个对象,而不是一个字符串。正则表达式匹配需要字符串。并且报错已经成功解决。传递参数的时候应该传递字符串类型,实现传递为对象类型。使用str()函数将对象转化为字符串类型的。

. 1048

Ubuntu20.04使用ROS运行tf view_frames工具出现TypeError: cannot use a string pattern on a bytes-like object

最近在学习古月居老师的《ROS入门21讲》,在学习tf这一章时想用tf view_frames这个工具来查看坐标之间的关系,但是出现TypeError: cannot use a string pattern on a bytes-like object报错,(第一行命令注意根据自己ros版本来,我自己的ros版本是noetic。

kasing116的博客 744
上一篇: _compile(pattern, flags).findall(string) TypeError: cannot use a string pattern on a bytes-like
下一篇: ValueError: I/O operation on closed file 的解决办法
hellenlee22
博客等级 码龄9年 70粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值