串口接收数据到txt文件 文件名字想加入com口标识
从这样变成这样
def slot_ReadData(self,data):
self.Receivelength=self.Receivelength+len(data)#收到数据的长度
self.ui.label_recview.setText("接收:"+str(self.Receivelength))
Byte_data=bytes(data)#强制转换
if self.ui.checkBox_16view.checkState():
View_data=''#新建空字符
for i in range(0,len(Byte_data)):#返回的字符对象的长度
View_data=View_data+'{:02x}'.format(Byte_data[i])+' '#每个字节转换成16进制
self.ui.textEdit_recview.insertPlainText(View_data)#输出框显示
else:
print("字符串显示")
self.ui.textEdit_recview.insertPlainText(Byte_data.decode('utf-8','ignore'))
self.ui.textEdit_recview.moveCursor(QTextCursor.End)#鼠标放在最后面
#判断时间 定义一个时钟
now = datetime.now()
date_time = now.strftime("%Y-%m-%d, %H:%M:%S")
print(date_time)
#写入txt成功 但是想改名字 在时间后面加入接受的com口
f = "{}.txt".format(now.strftime("%Y-%m-%d %H点%M分"))
opt = open(f, 'a') # 创建文件写入模式,w原有的内容被覆盖# 不想被覆盖 w变成a a为追加模式
opt.write(str(data, encoding='utf-8'))
opt.close()
不管能不能解决 提供思路会有打赏 谢谢
com口 标志字符串是那个?
代码是完整的吗?
为每个端口建立一个链接,
比如com1,com2,com3
安装
pip insatll pyserial
初始化
import serial
com1 = serial.Serial('com1', 9600, timeout=1)
com2 = serial.Serial('com2', 9600, timeout=1)
com3 = serial.Serial('com3', 9600, timeout=1)
接下来的代码,
文件名后面+com1.name+com1.Port即可
或者直接你调用那个com取得数据,就用哪个命名