Huangjiamai 2022-03-31 14:33 采纳率: 33.3%
浏览 41
已结题

python 串口接受到的数据写入txt文件 改名

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

串口接收的数据到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)
           opt = open('123.py', 'a')  # 创建文件写入模式,w原有的内容被覆盖# 不想被覆盖 w变成a a为追加模式
           opt.write(str(data, encoding='utf-8'))
           opt.close()

运行结果及报错内容

想让123.py 这个文件名变成 date_time 输出的时间

我的解答思路和尝试过的方法

回答能提供思路的会有打赏 不管有没有采纳 谢谢

我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 陈年椰子 2022-03-31 14:39
    关注
    
    
    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)
           f = "{}.txt".format(now.strftime("%Y_%m_%d_%H%M%S"))
           opt = open(f, 'a')  # 创建文件写入模式,w原有的内容被覆盖# 不想被覆盖 w变成a a为追加模式
           opt.write(str(data, encoding='utf-8'))
           opt.close()
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 关于IMageEnView 图标定位问题
  • ¥20 求解答(matlab)
  • ¥30 ffmpeg库使用过程中遇到的问题
  • ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
  • ¥15 关于HTML中title获取xml内容的问题
  • ¥15 fanuc机器人PRIO083数字信号未复原错误,如何解决?
  • ¥20 如何为现有电路板增加远程控制功能
  • ¥15 UE5打包失败,求解决
  • ¥15 请问STM32G431的CANOPEN协议函数怎么写
  • ¥15 graphpad prism 三因素重复测定报错