Python:如何将对象转换为整数

时间:2018-10-14 23:17:13

标签: python obd-ii

我正在Raspberry Pi 3 B +上用Python 3.5.3创建一个程序,以与汽车的OBDII端口连接。通过蓝牙正确建立了连接,当按预期使用Python-OBD库时,数据可以正确读取,但是不幸的是,在创建该库时,它会自动在Pint库的末尾添加一个单元。

我正在尝试转换如下所示的响应:

1689.34 rotations per minute

float部分:

1689.34

所以我可以将它们随时间相互比较。

我得到的错误如下:

TypeError: int() argument must be a string, a bytes-like object, or a number, not 'OBDresponse'

我尝试的代码是:

rpm1 = connection.query(rpm_sensor)

int(rpm1)

有什么想法可以帮助您吗?

1 个答案:

答案 0 :(得分:1)

如果只需要数字,请尝试以下操作:

val = rpm1.value

print(val.magnitude)

或者:

print(rpm1.value.magnitude)

如果需要单位,则:

print(val.units)

如果您阅读documentation for OBDresponse,则会看到response.value返回一个Pint对象。然后,您可以查看Pint类的文档,以了解如何分别访问数字和单位。

您应该可以从那里处理它。