Найти - Пользователи
Полная версия: Pyserial преобразование данных в строку
Начало » Python для новичков » Pyserial преобразование данных в строку
1
cer
Принимаю с COM порта
 b'enkoder 30008\n\x00'
не могу вырезать со строки \n\x00
 temp_ser3.strip("\n\x00")
, при том что метод rfind срабатывает.
В сомнения вводит перед строкой b ‘ ’ ,двоичными данными принимает ? как преобразовать в строку ?
Вот код обработки строки
 def tick():
    label.after(200, tick)
    if(flag_open):
        if(ser.inWaiting() > 0):
            temp_ser=ser.read(15)
            temp_ser3=str(temp_ser)
            temp_ser2=temp_ser3.strip("\n\x00")
            index_ser=temp_ser2.rfind('r')
            label['text'] = temp_ser2[index_ser+1:]
            print(temp_ser2[index_ser+1:])
    else: label['text'] = 'No'

Вот выход
 30008\n\x00'
vic57
 >>>#Python3
>>> bb= b'enkoder 30008\n\x00'
>>> bb.decode().replace('\n\x00','')
'enkoder 30008'
>>> bb.decode().replace('\n\x00','').split()[-1]
'30008'
 >>> #Python27
>>> bb= b'enkoder 30008\n\x00'
>>> str(bb).replace('\n\x00','')
'enkoder 30008'
>>> 
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB