Python 串口读取数据按行解析及编码设置
在 Python 中,使用 serial 模块可以从串口读取数据。为了正确解析数据,需要设置读取数据的编码方式。本文将介绍如何从串口按行读取数据并设置编码。
代码示例
import serial
ser = serial.Serial('COM1', 9600, timeout=1) # 打开串口
ser.set_encoding('gbk') # 设置读取编码为 gbk
while True:
line = ser.readline().decode('gbk').strip() # 读取一行数据并解码为字符串
if line:
print(line)
解释
- 打开串口:
serial.Serial()函数用于打开串口,参数分别为串口名称、波特率和超时时间。 - 设置编码:
ser.set_encoding()函数用于设置读取数据的编码方式,这里设置为gbk编码。 - 读取数据:
ser.readline()函数读取一行数据,返回一个字节字符串。 - 解码:
decode('gbk')函数将字节字符串解码为 Unicode 字符串。 - 去除空格:
strip()函数去掉字符串首尾的空格。 - 打印输出: 将读取到的字符串打印出来。
注意: 编码方式需要根据实际情况进行设置。如果串口发送的数据使用 UTF-8 编码,则需要将 ser.set_encoding('gbk') 修改为 ser.set_encoding('utf-8')。
总结: 本文介绍了如何使用 Python 从串口读取数据,并设置读取数据的编码方式,以确保正确解析数据。通过以上步骤,您可以轻松地从串口读取数据并进行处理。
原文地址: http://www.cveoy.top/t/topic/nWG5 著作权归作者所有。请勿转载和采集!