【问题标题】:How to convert ASCII characterers to Strings in Python如何在 Python 中将 ASCII 字符转换为字符串
【发布时间】:2013-07-19 13:02:32
【问题描述】:

我正在尝试将我从串口接收到的 ASCII 字符与字符串进行比较。我无法做到这一点,即使看起来我已经成功转换了输入。 这是我的代码

import serial
import time 
port="/dev/ttyUSB0"
serialArduino= serial.Serial(port,9600)
serialArduino.flushInput()
inputs=""
while True:
    inputsp=serialArduion.readline()
    for letter in inputsp:
        inputs=inputs+ str(letter)
   print inputs
   if inputs=="DOWN":
       print "APPLES"
   elif inputs=="UP"
       print "Bannana"

好吧,即使输入有时等于 UP 或 DOWN,它仍然不会打印出 APPLES 或 Bannana

【问题讨论】:

    标签: python ascii pyserial


    【解决方案1】:

    readline() 的返回值包含换行符。你需要去掉换行符。

    import serial
    import time 
    port="/dev/ttyUSB0"
    serialArduino= serial.Serial(port,9600)
    serialArduino.flushInput()
    
    while True:
        inputs = serialArduion.readline().rstrip()
        if inputs == "DOWN":
            print "APPLES"
        elif inputs == "UP"
            print "Bannana"
    

    【讨论】:

      【解决方案2】:

      试试这个:

      while True:
          inputsp=serialArduion.readline()
          for letter in inputsp:
              inputs=inputs+ chr(letter)
         print inputs
         if inputs.lower() =="down":
             print "APPLES"
         elif inputs.lower() =="up":
             print "Bannana"
      

      刚刚将 'str' 更改为 'chr',它将 ASCII 转换为字符。除了这个修改,去掉来自输入流的任何其他字符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-26
        • 2012-01-17
        • 2011-01-21
        • 2011-07-17
        • 2018-11-05
        相关资源
        最近更新 更多