使用python制作一个为hex文件增加版本号的脚本实例


Posted in Python onJune 12, 2019

最近公司一个项目需要用到IAP升级,要求将APP的版本号在hex文件添加,于是尝试用python写一个脚本,运行之后可以自动增加版本号,并且日期都是当天的

import re
import time
#获取日期的数据及校验和
year = int(time.strftime("%y", time.localtime()))
month = int(time.strftime("%m", time.localtime()))
date = int(time.strftime("%d", time.localtime()))
checkofsum = 512 - year - month - date - 4 - 255
#打开文件,以二进制打开文件方便seek函数的第一个参数可以取负数
#从而获取倒数第二行的数据(整个数据只有最后两行的数据数固定的)
f1 = open("E:\资料\K256(K211)\K256(从机部分)\APP\Objects\k256_slave.hex", "rb")
f2 = open("E:\资料\K256(K211)\K256(从机部分)\APP\Objects\k256_slave_1.hex", "w")
f1.seek(-34, 2)
str = f1.readline()
#解码并把空格去掉(将b''去掉,多出来的一行空格去掉)
#str为倒数第二行数据
str = str.decode("utf-8").rstrip()
f1.close()
#如何以二进制方式读取文件,即使解码去空格,jflash还是无法读取创建的hex文件
f1 = open("E:\资料\K256(K211)\K256(从机部分)\APP\Objects\k256_slave.hex", "r")
#在倒数第二行前加上版本号04FF000011091A00C9
#04表示本行数据的长度 FF00表示本行数据的起始地址 00表示数据类型
#11091A表示2017年9月26号 00表示app模式 C9校验和(前面所有数据总和取低八位再用0x100去减所得的结果)
f2.write(f1.read().replace(str, ":04FF0000%02X%02X%02X00%02X\r\n"%(year, month, date, checkofsum) + str))
f1.close()
f2.close()

修改前的APP的hex文件(地址最终在800B290)

使用python制作一个为hex文件增加版本号的脚本实例

修改后的app文件(地址最终在800FF00)

使用python制作一个为hex文件增加版本号的脚本实例

以上这篇使用python制作一个为hex文件增加版本号的脚本实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的Classes和Metaclasses详解
Apr 02 Python
asyncio 的 coroutine对象 与 Future对象使用指南
Sep 11 Python
Python pass详细介绍及实例代码
Nov 24 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 Python
python中如何使用正则表达式的集合字符示例
Oct 09 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
python仿evething的文件搜索器实例代码
May 13 Python
python pandas cumsum求累计次数的用法
Jul 29 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
python 网络编程要点总结
Jun 18 Python
python四种出行路线规划的实现
Jun 23 Python
Python几种酷炫的进度条的方式
Apr 11 Python
Python hexstring-list-str之间的转换方法
Jun 12 #Python
对python3.4 字符串转16进制的实例详解
Jun 12 #Python
python版DDOS攻击脚本
Jun 12 #Python
selenium处理元素定位点击无效问题
Jun 12 #Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 #Python
python3.4 将16进制转成字符串的实例
Jun 12 #Python
python binascii 进制转换实例
Jun 12 #Python
You might like
php设计模式 Template (模板模式)
2011/06/26 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
html超链接打开窗口大小的方法
2013/03/05 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
JS常用知识点整理
2017/01/21 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
2019/10/16 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
python实现批量修改文件名代码
2017/09/10 Python
python正则中最短匹配实现代码
2018/01/16 Python
python实现简易内存监控
2018/06/21 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
python实现控制COM口的示例
2019/07/03 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Python3 读取Word文件方式
2020/02/13 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
lookfantastic荷兰:在线购买奢华护肤、护发和化妆品
2018/11/27 全球购物
博士生入学考试推荐信
2013/11/17 职场文书
质检部职责
2013/12/28 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
使用springMVC所需要的pom配置
2021/09/15 Java/Android
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL