Python PySerial readline функция неправильно использовать - PullRequest
2 голосов
/ 21 мая 2009

Я использую скрипт для импорта PySerial читать с COM4

сообщения, которые я бы хотел перехватить, заканчиваются парой #

поэтому я попытался использовать

bus.readline(eol='##')

где автобус - это мое соединение.

Я ожидал прочитать как:

  1. * # * 3 ##
  2. * # * 3 ##
  3. * # * 3 ##

К сожалению, я нашел также

  1. * # * 1 ## * 1 * 1 * 99 ##

, который я ожидал прочитать в двух строках

  1. * # * 1 ##
  2. * 1 * 1 * 99 ##

Ясно, что readline не работает, но почему?

1 Ответ

3 голосов
/ 21 мая 2009

Метод readline() в pyserial читает по одному символу за раз и сравнивает его с символом EOL. Вы не можете указать несколько символов в качестве EOL. Вы должны будете прочитать и затем разделить позже, используя string.split() или re.split()

...