脚本运行报错:不支持在int与bytearray实例间使用'<'运算符
报错原因解析
'<' not supported between instances of 'int' and 'bytearray'
该报错属于Python类型操作不兼容类报错,触发规则非常明确:当你代码中执行<大小比较操作时,比较的两个值分别为整数(int)类型和字节数组(bytearray)类型,Python没有定义这两类不同类型数据的大小比较规则,因此直接抛出报错终止运行。
根因匹配与修复方式
根据你排查到的信息,问题根源完全匹配上述触发逻辑:
- 你代码中参与比较的变量
dati实际传入值是bytearray类型的二进制序列,并非你预期中已经解码后的行数据 - 该二进制序列未做解码、类型转换的前提下,和整数直接做大小比较,自然触发类型不兼容报错。
修复操作非常简单,使用dati参与比较逻辑前,先对其解码并按需转换类型即可,示例如下:
# 按实际编码格式对bytearray做解码,转为字符串 dati_str = dati.decode('utf-8') # 如果后续要和int比较,可再转换为数值类型 dati_num = int(dati_str) # 之后再用dati_num执行大小比较操作即可
内容的提问来源于stack exchange,提问作者Narrow
相关产品推荐
相关产品推荐

