当前位置:首页 > Python > 正文内容

(原创)使用Python将Leda编码规则检查报告转换为Excel形式

chanra1n1年前 (2023-05-21)Python2977
#Author       : /
#Description  : A tools for leda to analysis results
#Time         : 20220810
#Verision     : 1.2
#CopyRights   : myfpga.cn All Right Reservers. 
import os

print("注意!请将log文件重命名为leda.log,并将该文件转换为utf-8格式,然后放置于本脚步的上一层目录!")
os.system("pause")

#***************************************************************************************************************

print("1.Creating Leda Log Temperature File...")
file_input = open('../leda.log','rb')
file_output = open('../result_tmp_warn.csv','w')
for line in file_input.readlines():
    if "[WARNING]" in bytes.decode(line):
        temp_line = bytes.decode(line)
        temp_line = temp_line.replace(',',' ')
        temp_line = temp_line.replace('\n',' ')
        temp_line = temp_line.split(':')
        try:
            if temp_line[0] != "" :
                file_output.write(temp_line[0]+","+temp_line[1]+","+temp_line[2]+","+temp_line[3]+"\n")
        except:
            print(".")
file_input.close()
file_output.close()
print("1.1 Done!")

file_input = open('../leda.log','rb')
file_output = open('../result_tmp_note.csv','w')
for line in file_input.readlines():
    if "[NOTE]" in bytes.decode(line):
        temp_line = bytes.decode(line)
        temp_line = temp_line.replace(',',' ')
        temp_line = temp_line.replace('\n',' ')
        temp_line = temp_line.split(':')
        try:
            if temp_line[0] != "" :
                file_output.write(temp_line[0]+","+temp_line[1]+","+temp_line[2]+","+temp_line[3]+"\n")
        except:
            print(".")
file_input.close()
file_output.close()
print("1.2 Done!")

file_input = open('../leda.log','rb')
file_output = open('../result_tmp_error.csv','w')
for line in file_input.readlines():
    if "[ERROR]" in bytes.decode(line):
        temp_line = bytes.decode(line)
        temp_line = temp_line.replace(',',' ')
        temp_line = temp_line.replace('\n',' ')
        temp_line = temp_line.split(':')
        try:
            if temp_line[0] != "" :
                file_output.write(temp_line[0]+","+temp_line[1]+","+temp_line[2]+","+temp_line[3]+"\n")
        except:
            print(".")
file_input.close()
file_output.close()
print("1.3 Done!")

#***************************************************************************************************************

print("2.Analysising Leda Log File...")

file_input = open('../result_tmp_note.csv','r')
file_output = open('../result_note.csv','w')
temp_last = "  ,  ,  ,  ,"
isfirstline = 1
for line in file_input.readlines():
    if isfirstline == 1:
        isfirstline = 0
        file_output.write(line.split(',')[0]+","+line.split(',')[2]+",")
        temp_last = line
    else:
        if line.split(',')[0] == temp_last.split(',')[0] and line.split(',')[3] == temp_last.split(',')[3]:
            if(line.split(',')[1] != temp_last.split(',')[1]):
                file_output.write(' '+line.split(',')[1])
        else :
            file_output.write(","+temp_last.split(',')[3])
            file_output.write(line.split(',')[0]+","+line.split(',')[2]+","+line.split(',')[1])
        temp_last = line
file_output.write(","+line.split(',')[3]+"\n")
file_input.close()
file_output.close()
print("2.1 Done!")

file_input = open('../result_tmp_warn.csv','r')
file_output = open('../result_warn.csv','w')
temp_last = "  ,  ,  ,  ,"
isfirstline = 1
for line in file_input.readlines():
    if isfirstline == 1:
        isfirstline = 0
        file_output.write(line.split(',')[0]+","+line.split(',')[2]+",")
        temp_last = line
    else:
        if line.split(',')[0] == temp_last.split(',')[0] and line.split(',')[3] == temp_last.split(',')[3]:
            if(line.split(',')[1] != temp_last.split(',')[1]):
                file_output.write(' '+line.split(',')[1])
        else :
            file_output.write(","+temp_last.split(',')[3])
            file_output.write(line.split(',')[0]+","+line.split(',')[2]+","+line.split(',')[1])
        temp_last = line
file_output.write(","+line.split(',')[3]+"\n")
file_input.close()
file_output.close()
print("2.2 Done!")

file_input = open('../result_tmp_error.csv','r')
file_output = open('../result_error.csv','w')
temp_last = "  ,  ,  ,  ,"
isfirstline = 1
for line in file_input.readlines():
    if isfirstline == 1:
        isfirstline = 0
        file_output.write(line.split(',')[0]+","+line.split(',')[2]+",")
        temp_last = line
    else:
        if line.split(',')[0] == temp_last.split(',')[0] and line.split(',')[3] == temp_last.split(',')[3]:
            if(line.split(',')[1] != temp_last.split(',')[1]):
                file_output.write(' '+line.split(',')[1])
        else :
            file_output.write(","+temp_last.split(',')[3])
            file_output.write(line.split(',')[0]+","+line.split(',')[2]+","+line.split(',')[1])
        temp_last = line
file_output.write(","+line.split(',')[3]+"\n")
file_input.close()
file_output.close()
print("2.3 Done!")

#***************************************************************************************************************

print("3.Cleaning Temperature File...")
os.remove('../result_tmp_error.csv')
print("3.1 Done!")
os.remove('../result_tmp_note.csv')
print("3.2 Done!")
os.remove('../result_tmp_warn.csv')
print("3.3 Done!")


扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://world.myfpga.cn/index.php/post/311.html

分享给朋友:

“(原创)使用Python将Leda编码规则检查报告转换为Excel形式” 的相关文章

1.Python基本的使用

1.Python基本的使用

我们打开python或者通过运行python也可以,请复制如下代码,然后按下Enter键,看看会发生什么?print('\n'.join([''.join([('MyFpga'[(x-y) % len('MyFpga'...

2.Python中的基本运算

2.Python中的基本运算

我们打开Python,请你尝试输入如下算式并尝试理解有什么为什么是这样的?1+1 1+1.0 1-2 2-3.5 1*1 1*1.1 1/2 2/1 2/3 3/2 3//2 3/1.0 5/2.5我们不难得到如下结果2 2.0 -1 -1.5 1 1.1 0.5...

for循环

for循环

range()函数range(start,end,step)range()函数返回一个可迭代对象(可理解为一个序列,序列中的数包括start,不包括end)例如range(1,101),返回1-100的序列。range(101),范围0-100的序列。range(1,100,2),返回1,3,5.....

列表作为函数参数

列表作为函数参数

列表作为函数参数,函数中可以修改原列表def multiply(values,factor):     for i in range(len(values)):        values[i]*=factor          aList=[1,2,3,4,5]  multiply(aL...

一文快速搞定基本Python

一文快速搞定基本Python

本文适宜有熟练其他高级语言编程基础的同行参阅,或复习用,转载请保留作者信息 Myfpga.cn Chanra1n输入输出#input输入命令,中间的即提示语,左面的a为输入的值存到哪里 a=input("请输入a的值:") #print()可以直接print("He...

anaconda打不开的解决方法

anaconda打不开的解决方法

报错内容Navigator Error An unexpected error occurred on Navigator start-up Report Please report this ...