You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用x.find("Sensor")报TypeError非类字节对象错误如何解决

问题根因

报错触发的核心原因是变量x为bytes二进制类型,该类型的find()方法仅支持传入整数或bytes类型参数,你传入了字符串类型的"Sensor",因此触发类型错误。

解决方法
  • 方案1:匹配二进制类型参数(适合仅需做单次查找、无需后续字符串操作的场景)
    直接给查找的字符串添加b前缀转为bytes类型,代码修改为:
if x.find(b"Sensor")!=-1 :

也可以用更简洁的in语法实现等价判断:

if b"Sensor" in x:
  • 方案2:将二进制变量转为字符串后操作(适合后续需要对内容做多次字符串处理的场景)
    先对x执行解码操作转为字符串,再做查找判断,代码修改为:
# 可根据实际编码替换utf-8为gbk等对应编码
x_str = x.decode("utf-8")
if x_str.find("Sensor")!=-1 :

等价的简洁写法:

if "Sensor" in x.decode("utf-8"):
注意事项
  • 如果解码时报编码错误,需要确认x对应的实际编码格式,替换decode方法的入参即可。
  • 如果你预期x本就应该是字符串类型,可排查上游赋值逻辑,确认是否存在多余的编码操作导致x被转为了bytes类型。

内容的提问来源于stack exchange,提问作者user7987788

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:18:04