Huangjiamai 2022-03-29 13:17 采纳率: 33.3%
浏览 478
已结题

python串口 接收到数据自动保存到txt文档应该用什么函数 怎么写

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

python串口已经编写好 想把接收到的信号全部转存到提醒他文件应该用什么函数 怎么写

问题相关代码,请勿粘贴截图

#接收到数据长度 查看发送过来的数据

 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)#鼠标放在最后面
           opt = open('result.txt', 'w')  # 创建文件写入模式,原有的内容被覆盖# 不想被覆盖 w变成a a为追加模式
           opt.write(data)
           opt.close()

运行结果及报错内容

报错

TypeError: write() argument must be str, not QByteArray #把write内换成data就不能运行但是添加 '11' 这样就可以运行了

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

上位机反馈的内容,可以在txt中显示

  • 写回答

6条回答 默认 最新

  • 秋刀鱼程序编程 2022-03-29 14:10
    关注
    
    import numpy as np
    import random
    data=np.random.random([100,4])    #这里随机创建一组100*4的数据
    str = '\n'
    f=open('C:\\Users\\Desktop\\Runresult.txt','w')
    f.write((str.join('%s'%i for i in data)))     #将其导入提前写好的Runresult.txt文件中
    f.close()
    

    根据自己的需要将data换成自己代码输出的数据即可,文件的路径可以调整

    评论 编辑记录
    1人已打赏

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月31日
  • 修改了问题 3月30日
  • 修改了问题 3月30日
  • 修改了问题 3月30日
  • 展开全部