第十一课python来写串口助手-log的自动保存
off999 2024-09-27 13:56 55 浏览 0 评论
1、我们串口助手篇终于到第十一课了,估计还有1-2篇就可以完结这个系列,我们下一个系列就来做USB,当年我想做USB的通讯编程,结果没有什么入门的方法,自己慢慢摸索完成的,既然开了串口的系列,那就把USB系列做成第二个系列,敬请期待。
2、Txt的读写在python非常简单,我们希望实现的功能:
1)自动在目录下生成文件名;
2)文件名最好能关联到时间;
3)内容大于512就自动保存;
4)退出的时候,自动把小于512部分的内容保存到log中。
3、那我们来实现一个变量用于保存临时的数据,当数据长度大于512就将数据保存,在initdata中增加变量:
self.svaedata=""
4、在文件头增加代码:import time,在initdata中增加代码:
self.logpath="./log/"+str(time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime()))+'_log.txt'
在pythonwork下新建一个目录log:
将当前的时间按照%Y_%m_%d_%H_%M_%S格式生成日期的字符串与_log.txt拼接成log的文件名,运行一下:
可以看到我们的log文件的路径名,我们来实现txt保存。
我们可以使用open来写入txt文件:
def WriteLog(self,sdata,b=0):
self.svaedata+=sdata
if len(self.svaedata)>=512 or b==1:
with open(self.logpath,'a') as f:
f.write(self.svaedata)
f.close()
self.svaedata=""
输入待写入的字符串,并将它保存到变量self.savedata,如果长度大于512,我们就写入txt文件,这样做的好处在数据交互快速,有大量待写入操作能节省时间,不需要一直重复写入。
1、我们将代码加入之前的代码中:
def callbacklog(self,msg):
if len(msg)>0:
cbcheck=self.new.cb_receive.checkState()
hdata=""
try:
if cbcheck:
hdata="收到数据:"+self.com.HexToString(msg)
self.ShowMsg(hdata)
else:
hdata="收到数据:"+msg.decode('utf-8','replace')
self.ShowMsg(hdata)
self.WriteLog(hdata+"\r\n")
except Exception as e:
self.ShowMsg(str(e))
在界面关闭事件中增加:
def closeEvent(self, event):
try:
self.cw.close()
self.StopThread()
self.stoptim()
self.com.CloseCom()
self.WriteLog("",b=1)
except Exception as e:
self.ShowMsg(str(e))
接着我们来运行一下:
查看log目录:
已经生成了相应的文件:
接着关闭程序,我们只发送一条数据,查看关闭文件的时候,是否自动保存:
查看log目录,并没有生成log文件,接着关闭文件,查看目录下,已经自动生成了log文件:
现在我们已经基本实现了数据接收、发送、保存,那我们用它来干什么,下一节课将简单的来接收GPS数据并解析。
相关推荐
- 360手机助手下载的软件在哪里
-
在手机中打开安装好的360手机应用助手然后在360手机应用助手界面的右下角,选择“更多”,然后在这里再进入“设置”进入设置后,再选择“应用安装位置”设置最后我们选择SD卡即可根据以上步骤,就可以修改下...
- 组策略管理器怎么打开(组策略管理器怎么打开控制面板)
-
1.找不到2.本地组策略管理器可能找不到是因为它可能被禁用或者被删除了。另外,也有可能是因为你的操作系统版本不支持本地组策略管理器。3.如果你的操作系统版本不支持本地组策略管理器,你可以尝试使用...
- 电源已接通未充电什么意思(电源已接通但未充电怎么办)
-
原因分析:出现这样的原因有可能是长时间没有充电,导致电池的内部电量耗完后亏电严重,只是电脑充电的保护,不让过充而已,只要设置一下电池选项一般就可以解决问题了。解决方法:1、关机,拔下电源,拔出电池,...
- 路由器怎么桥接另外一个路由器
-
桥接分有线桥接和无线桥接,有线桥接就是两台路由器lan口通过网线相连,实现路由器的扩展;无线桥接是将后一台路由器工作模式设置为中继模式,在中继模式设置中选择前一台路由的WiFi信号,输入对应的密码,就...
- 电脑开机进入桌面就蓝屏(电脑开机进去桌面就蓝屏)
-
步骤1、如果发现开机蓝屏时,可能以通过开机第一屏时迅速不停按动F8键,在屏幕出来的界面选择[安全模式]并按[Enter]进入安全模式。【电脑一开机就蓝屏】步骤1 步骤2、如果能进安全模式,说明软件有...
-
- 惠普打印机程序驱动官网(中国惠普打印机驱动程序)
-
hp打印机驱动程序可以去惠普官网下载,然后安装驱动程序1/6登陆www.hp.com.cn,点击右上角的“支持”,选择“软件与驱动程序”2/6点击左侧“按产品类别浏览”中的“打印机”3/6输入要查询的产品编号4/6点击左侧搜索结...
-
2025-12-30 14:03 off999
- 一键装机之家官网(一键装机软件哪个好用)
-
http://www.xitongzhijia.net/系统之家官网打造的系统之家装机大师,使用很简单,可以用U盘装系统,也可以一键重装系统,可以帮助你快速升级到你想要升级的系统。系统之家装机大师是一...
- 显示桌面图标不见了怎么恢复
-
1、在电脑桌面上,点击鼠标右键。2、在右键菜单中,点击“查看”。3、在“查看”的下一级菜单中,点击“显示桌面图标”,即可显示出桌面图标。4、用鼠标右键点击任务栏。5、在右键菜单中,点击“任务管理器”。...
- 芯片排行(麒麟芯片排行)
-
2021世界十大芯片公司排名1.英特尔成立于1968年,一直都处于领先地位,是最著名的计算机和中央处理器创造商。2.三星成立于1938年,三星涉及了许多领域,比如手机、电脑和各种电子半导体领域。3.英...
- win7系统进入桌面黑屏(win7进去界面后黑屏)
-
win7黑屏无法进入桌面的解决方法:1、按【ctrl+alt+del】组合键,打开任务管理器;2、依次点击文件、创建新任务,输入regedit;3、在打开的注册表编辑器中,找到shell选项,更改数值...
- 文件隐藏专家(文件隐藏专家怎么设置)
-
是隐藏的软件恢复到桌面吗?在手机桌面中间向上滑→桌面设置→应用隐藏/私密应用→输入密码→编辑→选择应用点击即可取消。 默认F2可以开始,停止的。亦可以自己设置。 屏幕录像专家设置步骤: 1、在电...
- 电脑蓝屏无法重启怎么办(电脑蓝屏重启不行)
-
插上U盘并重启电脑。大多数电脑都可以通过按下F11或F12来选择U盘启动。·在启动时选择U盘启动,然后按回车键。接着选择“第二项”,开始启动PE系统。·现在已经进入PE系统了,找到引导修复工具并双击。...
- tplink路由器重设密码步骤(tplink路由器重置密码设置步骤图解)
-
重设TP-LINK无线路由器密码方法如下1、打开浏览器,在地址栏输入192.168.1.1(一般路由器地址是这个或者查看路由器背面的登录信息)进路由-输入用户名,密码,(默认一般是admin)。2、...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
