利用Python实现自制文件搜索小工具

 

前言

嗨嗨,大家晚上好 ~

当自己电脑文件很多还有点乱,不记得自己文件放哪里的时候,用电脑自带的搜索文件,这个等待时间可慢了

对我们这种敲代码的,这能忍吗,所以我们不如自己用python做一个搜索工具!犄角旮旯的文件都能一秒钟搜索出来的那种!

一不小心还能把你们男(女)朋友那些藏的很深的不可告人的文件分分钟找出来~

话不多说,赶紧开始吧

 

环境准备

解释器: Python 3.8.8 | Anaconda, Inc.

编辑器: pycharm 专业版

 

完整代码

就不把代码单列出来咯,一次全放出来 ~

我在里面写了注释哦

import tkinter as tk
from tkinter import filedialog
import os

root = tk.Tk()
root.geometry('600x300')
root.title('学习资料搜索工具')

"""搜索框"""
search_frame = tk.Frame(root)
search_frame.pack()

tk.Label(search_frame, text='关键字:').pack(side=tk.LEFT, padx=10, pady=10)
key_entry = tk.Entry(search_frame)  # 创建一个输入框
key_entry.pack(side=tk.LEFT, padx=10, pady=10)  # 将输入框显示到界面
tk.Label(search_frame, text='文件类型:').pack(side=tk.LEFT, padx=10, pady=10)
type_entry = tk.Entry(search_frame)
type_entry.pack(side=tk.LEFT, padx=10, pady=10)
button = tk.Button(search_frame, text='搜索')
button.pack(side=tk.LEFT, padx=10, pady=10)
list_box = tk.Listbox(root)
list_box.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

"""点击按钮搜索文件"""


def search():
  print('按钮被点击了')
  # 1. 获取关键字、文件类型
  key = key_entry.get()
  file_type = type_entry.get()
  print(key, file_type)
  # 2. 读取 windows 系统的文件
  dir_path = filedialog.askdirectory()
  print(dir_path)  # 遍历文件,实现搜索功能
  file_list = os.walk(dir_path)
  for root_path, dirs, files in file_list:
      # 目录路径,目录下的子目录,目录下的文件
      # print(root_path, dirs, files)
      for file in files:
          # 过滤文件类型,搜索关键字
          if type_entry:  # py 如果输入了类型,就进行过滤,如果没有输入,就不过滤类型
              if file.endswith(file_type):
                  # 搜索关键字
                  content = open(root_path + '/' + file, mode='r', encoding='utf-8-sig').read()
                  if key in content:
                      print(root_path + '/' + file)
                      # 把结果显示到界面上
                      list_box.insert(tk.END, root_path + '/' + file)
  # 3. 实现搜索功能
  # 4. 将搜索到的结果显示到界面


# 创建滚动窗口并布局到页面上
sb = tk.Scrollbar(root)
sb.pack(side=tk.RIGHT, fill=tk.Y)
sb.config(command=list_box.yview)
list_box.config(yscrollcommand=sb.set)

button.config(command=search)


def list_click(event):
  print('列表框组件的内容被点击了')
  # 1. 获取到选中的内容
  index = list_box.curselection()[0]
  path = list_box.get(index)
  print(path)
  # 2. 读取选中路径的内容
  content = open(path, mode='r', encoding='utf-8').read()
  print(content)
  # 3. 将内容显示到新的窗口
  top = tk.Toplevel(root)
  filename = path.split('/')[-1]
  top.title(filename)
  text = tk.Text(top)
  text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  text.insert(tk.END, content)


# 绑定点击事件
list_box.bind('<Double-Button-1>', list_click)

root.mainloop()

关于利用Python实现自制文件搜索小工具的文章就介绍至此,更多相关Python文件搜索内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 前言嗨嗨,大家好呀 ~ 今天给你们分享一个有趣的东西 ~是一个语音识别跟语音转文字的小工具感兴趣的朋友可以继续往下滑咯 直接使用在1.2官网注册后拿到APISecret和API ...