python3+tkinter实践历程(二)——基于tkinter的日志检索工具

python3+tkinter实践历程(二)——基于tkinter的日志检索工具


系列文章目录

python3+tkinter实践历程(一)——基于requests与tkinter的API工具
python3+tkinter实践历程(二)——基于tkinter的日志检索工具
python3+tkinter实践历程(三)——基于requests与tkinter的模拟web登录工具
python3+tkinter实践历程(四)——模仿CRT完成基于socket通信与tkinter的TCP串口客户端

分享背景

①分享意图在于帮助新入门的朋友,提供思路,里面详细的注释多多少少能解决一些问题。欢迎大佬指点跟交流。
②2021年8月,开始陆续有需求制作一些工具,因为python语言跟tkinter工具相对简单,所以就基于这些做了好几个不同用处的工具。
③分享从完成的第一个工具开始分享,分享到最新完成的工具,对于tkinter的理解也从一开始的摸索入门,到后来逐渐熟练,完成速度也越来越快,所用到的tk的功能点也越来越多。

制作背景

用于分析日志有无出现目标关键字、有无出现刷屏分析。

最终功能

检查日志,实现搜索关键字、刷屏分析两个功能

代码详解

# -*- coding=utf-8 -*-
"""
1、输入指定文件名,就读取指定文件
2、全选,则读取所有后缀为log的文件
"""

import tkinter as tk
from tkinter import *
import threading
import os
from tkinter.filedialog import askdirectory, askopenfilenames
import difflib


class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.check_kw = True       # 是否检查关键字
        self.check_rep = True      # 是否检查刷屏
		
		# 此两个为内置的一些关键字,及关键字对应的JRbug单号
        self.kw = "a||b||c||d"
        self.jr_id_kw = {'a': 'A-001', 'b': 'B-001', 'c': 'C-001', 'd': 'D-001'}

        # 初始化时执行下面create_widgets函数构造出GUI界面
        self.create_widgets()		#
		
    def create_widgets(self):
        """创建图形化界面"""
        # 串口目录路径,该目录下的日志都会被搜索
        tk.Label(self, text="日志目录路径").grid(row=0, column=0)
        self.dir = tk.StringVar()
        self.dir.set("")
        self.log_dir = tk.Entry(self, textvariable=self.dir, width=35)
        self.log_dir.grid(row=0, column=1)
        tk.Button(self, text="路径选择", command=self.selectPath).grid(row=0, column=2)
        # 串口文件,指定某个日志文件
        tk.Label(self, text="日志文件路径").grid(row=0, column=4)
        self.name = tk.StringVar()
        self.name.set("")
        self.log_name = tk.Entry(self, textvariable=self.name, width=40)
        self.log_name.grid(row=0, column=5)
        tk.Button(self, text="文件选择", command=self.selectName).grid(row=0, column=6)
        # 搜索按钮
        start_btn = tk.Button(self, text="开始检查日志", command=self.start_search_log).grid(row=0, column=9)
		# 搜索关键字与刷屏分析的文字
        tk.Label(self, text="搜索关键字(多个关键字用英文逗号(,)隔开)").grid(row=1, column=0, columnspan=2)
        tk.Label(self, text="搜索结果")
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值