Python3中bytes转int报错ValueError?如何正确转换字节为整数
解决Python3中字节对象转整数的报错问题
错误原因
int()函数不支持直接将字节对象转换为整数,必须先把字节解码为字符串。- 你的字节对象末尾带有换行符
\n,这不属于有效的十进制数字字符,会触发转换失败。
正确实现方式
先将字节对象解码为字符串,去除首尾空白字符(包括换行符)后,再转换为整数:
get_disk = b'8559555\n' current_disk = int(get_disk.decode().strip())
补充说明
decode():默认将字节对象转换为UTF-8编码的字符串,若你的字节使用其他编码,可在括号内指定,比如decode('gbk')。strip():会移除字符串首尾的所有空白字符(换行符、空格、制表符等),适用性更广;如果确定只有末尾的换行符,也可以用rstrip('\n')精准去除。
内容的提问来源于stack exchange,提问作者Mihir
相关产品推荐
相关产品推荐

