Huangjiamai 2022-04-01 11:23 采纳率: 33.3%
浏览 90
已结题

python 串口接收数据形成txt文件

问题遇到的现象和发生背景

现在可以形成文件但是文件名是以时间变化而变化 每隔一分钟形成一个新的 想要使窗口打开后成立一个 直到窗口关闭。不用一分钟就生成一个新的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()


运行结果及报错内容

每隔一分钟新建一个

我的解答思路和尝试过的方法
我想要达到的结果

窗口重新打开时再新建立一个文件

  • 写回答

3条回答 默认 最新

  • 陈年椰子 2022-04-01 15:47
    关注

    做两个处理
    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 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月2日
  • 已采纳回答 4月2日
  • 创建了问题 4月1日

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”