如何在Python中将ASCII字符转换为字符串

时间:2013-07-19 13:02:33

标签: python ascii pyserial

我正在尝试将从串行端口接收的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

2 个答案:

答案 0 :(得分:2)

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"

答案 1 :(得分:0)

试试这个:

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转换为字符。除了此修改之外,还会删除来自输入流的任何其他字符。