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日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改