Python,响应和if语句

时间:2012-12-19 04:41:59

标签: python if-statement response

我正在编写一个程序,它将命令代码发送到串行设备并从设备获取响应,然后发送另一个命令。我可以完美地发送命令,甚至可以得到响应。但是,我的if语句似乎没有承认回复。

示例:

response = sendCommand(beep)
if response == '0D6010100':
  print"Command beeped!"

就像我提到的,我得到了一个成功的响应代码0D6010100,但if语句不承认它。有什么想法吗?

我正在使用Python 2.7并使用PySerial

UDPATE:

打印类型(响应)给了我: print repr(响应)给了我:'0D6010100 \ r \ n' 我假设repr(响应)末尾的\ r \ n在这个问题上有一些帮助吗?

2 个答案:

答案 0 :(得分:2)

如您所料,最后\r\n是问题所在。做

response = sendCommand(beep).strip()

从字符串末尾删除空格。

答案 1 :(得分:2)

您需要先修改响应:

if response.rstrip() == '0D6020100':
   print 'beepity boop beep woohoo!'