写这篇文章的原因

在我们看log的时候main.log和sys.log 的时间都是 格林时间,而kernel 的日志时间为毫秒,如果是出问题两个时间看起来和转换起来就非常费劲,所以就想找到一个脚本来实现这个功能,如下这脚本就是实现这个功能的:

import time
import sys
import osdef usage():print('''Help Information:kmsg_translate inputfile:   input file  to parse        ''')
if len(sys.argv) < 2:usage()sys.exit(2)
inpath = sys.argv[1]
print "parameter"
print inpath
print "parameter"def calc_delta(stream):global s_secondglobal s_microsecondglobal a_timeglobal outfileif a_time ==None:print("Can't convert to android time")exit(-1)for line in stream:if line:try:begin_index =  line.index('[')end_index = line[begin_index+1:].index(']')+begin_index+1time_string = line[begin_index + 1 :end_index][d_second,d_microsecond] = time_string.split('.')delta_second = int(int(d_second) - int(s_second))delta_microsecond = int(int(d_microsecond)-int(s_microsecond))[t_second, t_microsecond] = a_time.split('.')seconds = (delta_second + int(t_second))microseconds = (delta_microsecond + int(t_microsecond) * 1000)if microseconds < 0:microseconds = microseconds + 1000000seconds = seconds - 1times = str(seconds)x = time.localtime(float(times))realtime = time.strftime('%Y-%m-%d %H:%M:%S', x)new_line = realtime+ "." + str(microseconds) +' ' + lineoutputfile.write(new_line)except:outputfile.write(line)def get_atime(stream):global s_secondglobal s_microsecondglobal a_timefor line in stream:if line:a_time_op = line.find('audit(')if a_time_op>=1:begin_index =  line.index('[')end_index = line[begin_index+1:].index(']')+begin_index+1date_string = line[a_time_op + 6 :a_time_op+20]abs_time = line[begin_index + 1 :end_index][s_second,s_microsecond] = abs_time.split('.')a_time = date_string;breakdef main():global inputfileglobal outputfileif inpath == None:usage()sys.exit(2)inputfile = open(inpath, 'r')outputfile = open( inpath + '_translated', 'w')get_atime(inputfile)inputfile.seek(0)calc_delta(inputfile)inputfile.close()outputfile.close()
if __name__ == "__main__":main()

脚本的用法:

保存代码成任意XXX.py,然后执行python XXX.px a.log,其中a.log是要转换的kmsg文件名称,然后会在XXX.py所在目录生成aa_translated.log文件.

适用的范围:

MTK 平台和高通平台适用,展讯平台没有测试。
转载于下面链接:
https://blog.csdn.net/junjle/article/details/74735180

kernel日志时间转换python脚本(MTK)相关推荐

  1. python测试脚本 进制转换_[python] 转换python脚本程序为二进制ELF

    方法1: freeze.py 来自python源码树. 安装pythonbrew,可安装定制化的独立python环境(略) python trunk/Tools/freeze/freeze.py ./ ...

  2. python 长时间运行 会停止_如何“停止”和“恢复”长时间运行Python脚本?

    这里有一些简单的东西可以帮助你: import time import pickle REGISTRY = None def main(start=0): """Do s ...

  3. android调用python框架_在Java中从Android应用程序执行Python脚本?

    我正试图找到一种在Android中从Java代码执行Python脚本的方法.我对这个问题做了一个研究,但我发现的唯一问题是,如何在APK for android(Kivy e.t.c.)中转换pyth ...

  4. php 当前时间转换,php时间转换

    UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换 ...

  5. 数字转换星期几python_Python基本时间转换

    时间转换 python中处理时间的时候,最常用的就是字符形式与时间戳之间的转换. 把最基本的转换在这里记下来 string -> timestamp import time import dat ...

  6. 淘宝抢购Python脚本

    想买mate40,但总是抢不到,所以想试着能不能写个脚本代码. 第一步:把想要抢购的商品加进购物车,注意:脚本是对购物车内全部商品进行下单操作,所以不够买的商品最好先从购物车内删除. 第二步:写好Py ...

  7. android运行python脚本,在android应用程序中运行python脚本

    我想得到远程安装软件的列表电脑.为了我想在我的android中使用python脚本申请.现在,我有一个python脚本,它正在远程获取已安装软件的列表电脑.但是,我不知道如何在android中支持它. ...

  8. python生产脚本_生产级部署 Python 脚本,日志收集、崩溃自启,一键搞定

    点击上方" 承香墨影 ",选择"置顶或星标" 第一时间接收最新消息 今天介绍一个生产级的流程管理工具 PM2,通常我们说到 PM2 的时候,都是在说如何部署 N ...

  9. GPS涉及到的各种时间转换(年月日,年积日,儒略日,GPS周及周内日或周内秒,星期几)python

    因为写一些程序或脚本经常要涉及GPS的时间转换,比如下载各种产品遍历的时候可能需要用年积日,但是如果日期有跨年的话年积日也不方便,可能就需要先转儒略日再转对应的年月日,而有些产品命名又是GPS周相关, ...

  10. 如何使用Python脚本转换数据和命令行

    在如何使用Python脚本转换数据和命令行中,我们将深入探讨如何使用Python脚本和命令行来转换数据. 但是首先,值得提出一个您可能正在思考的问题:" Python如何适合命令行,为什么当 ...

最新文章

  1. mysql 字段扩容_解决DB2事物日志满、扩充表字段长度和表空间的命令
  2. 上班摸鱼,刚刚发现在 VScode 中可玩魂斗罗,超级玛丽
  3. Pessimistic Error Pruning example of C4.5
  4. android中showSoftInput不起作用 与 toggleSoftInput
  5. git上传分支的原理_几张图让你彻底弄懂git工作流(二) ——git分支
  6. bean json转kotlin_Android--------kotlin插件神器Json直接生成javaBean
  7. 动态调整linux分区大小,GParted 动态调整Linux分区大小
  8. 关于OpenFOAM的一些学习资料
  9. 机器学习资料合计(一)
  10. 动态规划--背包计数--hdu2079选课时间
  11. 物种内共线性分析——思路以及踩坑总结(二)
  12. 2022年知网研学“研究生科研素养提升”系列公益讲座题库答案分享一波
  13. java兵临城下_[编程题] 兵临城下
  14. Delphi7微信、支付宝扫码支付源码
  15. 自然语言处理(九)——数据平滑
  16. Python数据处理相关小例编程
  17. 密集子图挖掘算法的相关知识
  18. [VB.NET]想做一个小界面,不知用什么做
  19. python for循环*号等腰三角形_for循环实现正等腰三角形
  20. unity 分数动态增加

热门文章

  1. vs调试nuget包_NuGet包调试源码的方法
  2. python模块xlutils如何下载_Python-如何安装xlutils?
  3. 抖音 iOS 推荐 Feed 容器化总结
  4. 【游戏】金融帝国2:金融帝国实验室(Capitalism Lab)3.0.19安装包下载
  5. Handler内存泄漏-解决:使用静态类和弱引用
  6. python获取本月第一天 最后一天
  7. linux启动速度优化
  8. 香港消委会:大部分航空公司超卖机票无赔偿细则
  9. MySQL(InnoDB剖析):---InnoDB关键特性(插入缓冲(Insert Buffer)、两次写(doublewrite)、自适应哈希索引(AHI)、异步IO(AIO)、刷新邻接页)
  10. 当杭州为人称道的美丽遇见了华为云!