Python 正在分析包含要浮动的ascii代码的字符串

Python 正在分析包含要浮动的ascii代码的字符串,python,floating-point,visa,gpib,Python,Floating Point,Visa,Gpib,我用它来控制信号恢复sr7225锁定放大器。几乎所有事情都按预期进行。只有一个问题,当查询的值正好为零,并且在浮点模式下有一个查询时,将返回以下结果 >>>import visa >>>lockin = visa.instrument('GPIB::08') >>>lockin.ask('X.') # Query X value in floating point mode 0.0E+00\x00 将ascii值附加到响应字符串。我猜\x0

我用它来控制信号恢复sr7225锁定放大器。几乎所有事情都按预期进行。只有一个问题,当查询的值正好为零,并且在浮点模式下有一个查询时,将返回以下结果

>>>import visa
>>>lockin = visa.instrument('GPIB::08')
>>>lockin.ask('X.') # Query X value in floating point mode
0.0E+00\x00
将ascii值附加到响应字符串。我猜
\x00
附加的ascii值是一个错误,但这意味着我无法使用
float()
将字符串响应转换为float。您将如何处理此问题?

简单地说

float(x.strip('\x00'))

简单


float(x.strip('\x00'))

这是一个空字节,在C中是一个字符串终止符。@MartijnPieters我只是想知道为什么它只在值为零的情况下发送,而不是在其他情况下。可能是一个bug,正如你所说;只是想解释一下它可能来自哪里。它在C中有意义,因此可能作为一个bug被遗漏了。它是一个空字节,在C中是一个字符串终止符。@MartijnPieters我只是想知道为什么它只在值正好为零时才被发送,而不是在其他情况下。可能是一个bug,就像你说的;只是想解释一下它可能来自哪里。它在C中有意义,因此可能作为一个bug被遗漏了。