现在可以形成文件但是文件名是以时间变化而变化 每隔一分钟形成一个新的 想要使窗口打开后成立一个 直到窗口关闭。不用一分钟就生成一个新的txt文件
#接收到数据长度 查看发送过来的数据
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)
#检测com口
com_str= self.ui.comboBox_Com.currentText()
f = "{}{}.txt".format(now.strftime("%Y-%m-%d %H点%M分"), com_str)
opt = open(f, 'a') # 创建文件写入模式,w原有的内容被覆盖# 不想被覆盖 w变成a a为追加模式
opt.write(str(data, encoding='utf-8'))
opt.close()
每隔一分钟新建一个
窗口重新打开时再新建立一个文件
做两个处理
1、在 是窗口的init
定义初始化的文件名
now = datetime.now()
self.file_name = "{}.txt".format(now.strftime("%Y-%m-%d %H点%M分"))
2、写文件时
获取主窗口的属性
open(self.file_name,'a') as f
把生成文件名的位置,就是生成f的位置,放到跟窗口初始化打开差不多的位置
就打开一次窗口新生成一个文件
就不会传一次数据就生成一个文件
加个判断,如果文件存在,就追加内容或者做你想做的操作,如果不存在,就建立文件