import sys
import os
import re
import datetime
import math
BaseDir = os.path.dirname(__file__)
# 打印总开关,调试用,如果不需要输出可以置为False
DEBUG = True
def read_systrace_html(file_name=None):
if file_name is None or file_name == "":
file_name = sys.argv[1]
auto_anylize_pid(file_name)
# 将相关的有用的tracing_mark_write: B、tracing_mark_write: E写入到临时文件中,然后在进行帧数和总时间的解析
def getCurrentTime():
return datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
pass
def auto_anylize_pid(file_name):
global out_temp_systrace_file
out_temp_systrace_file = "temp.txt"
temp_f = open(out_temp_systrace_file, encoding='utf-8', mode='w+')
with open(file_name, encoding='utf-8', mode='r') as f1:
# 关键字设置
system_server_pid_str = "doOpenCamera"
while True:
line = f1.readline()
if not line:
break
if system_server_pid_str in line:
line = ' '.join(line.split())
BEGIN_TRACE = '<!-- BEGIN TRACE -->'
END_TRACE = '<!-- END TRACE -->'
temp_f.write(BEGIN_TRACE)
temp_f.write("\n")
if DEBUG:
print("system_server_id is " + str(line))
break
return temp_f
pass
def delete_file(file_name):
if os.path.exists(file_name):
os.remove(file_name)
pass
def getTimeFromLine(line):
# 将解析的时间换成 ms 的时间
pattern_time = ".*\s(\d+).(\d+):.*"
m = re.compile(pattern_time).search(line)
if m:
return int(m.group(1)) * 1e6 + int(m.group(2))
return 0
def main():
file_name = r'D:\pythonProjects\test\20211208.html'
if file_name == os.path.basename(file_name):
file_name = os.path.join(os.path.dirname(file_name), file_name)
else:
print("请将解析文件放入脚本同目录,或输入完成的路径")
read_systrace_html(file_name)
pass
if __name__ == '__main__':
main()
Android音视频开发(1)
最新推荐文章于 2023-09-27 21:32:24 发布