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

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

chanra1n3年前 (2023-05-21)Python5656
#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发布,如需转载请注明出处。

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

分享给朋友:

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

math库的使用

math库的使用

math库包括4个数学常数math.pi      圆周率math.e       自然对数math.inf     正无穷大,负无穷大为-math.infmath.nan     非浮点数标记math库常用函数math.cell(x)      向上取整,返回不小于x的最小整数math.facto...

列表作为函数参数

列表作为函数参数

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

Python自动清理错误图片,深度学习训练数据集准备

Python自动清理错误图片,深度学习训练数据集准备

使用python运行from PIL import Image from pathlib import Path import os   path = r'.'  ...

(原创)使用Python对任意网站图片进行爬取,仅用于学习

(原创)使用Python对任意网站图片进行爬取,仅用于学习

import os import time import argparse import requests import re import io from urllib.parse import ...

(原创)使用Python递归获取网页内的所有URL,并进行清洗

(原创)使用Python递归获取网页内的所有URL,并进行清洗

import argparse import time from urllib.parse import urljoin, urlparse from selenium import webdriver...

(原创)使用Python提取ISE工程的RTL代码

(原创)使用Python提取ISE工程的RTL代码

在工程文件夹下运行Python程序即可 #Author       : / #Description  : 从ISE的项目文件夹中提取rtl文件,用于LEDA调试 #Time ...