哈喽,大家好丫,你们的小郭子又来啦 ~
当自己电脑文件很多还有点乱,用电脑自带的搜索文件,效率有点低,憋担心,我们用Python自制一个搜索小工具就行了,嘻嘻嘻嘻

环境准备

  1. 解释器: Python 3.8.8 | Anaconda, Inc.
  2. 编辑器: pycharm 专业版

实现代码

import tkinter as tk
from tkinter import filedialog
import osroot = 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——【自制搜索小工具】相关推荐

  1. Python自制办公小工具(2、便签)

    一个始终置顶的便签 使用python3.8.2正常 依赖模块:tkinter,sqlite3,os 无需第三方模块 贴图 直接上代码 import sqlite3 import tkinter as ...

  2. 太强了,Python 开发桌面小工具,让代码替我们干重复的工作~

    作者 | Cherish 来源 | 杰哥的IT之旅 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python 自动生成透视表",这个问题背后有个非常好的解 ...

  3. python对工作效率的提升_使用了这个几个Python内置小工具,可以让你的工作效率提升一倍...

    使用了这个几个Python内置小工具,可以让你的工作效率提升一倍 我们将会详情4个Python解释器自身提供的小工具. 这些小工具在笔者的日常工作中经常使用到, 减少了各种时间的白费, 然而,却很容易 ...

  4. 太强了!Python 开发桌面小工具,让代码替我们干重复的工作!

    作者:Cherish 来源:https://www.jianshu.com/p/91128d442198 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python ...

  5. Python 开发桌面小工具,让代码替我们干重复的工作!

    作者:Cherish 来源:https://www.jianshu.com/p/91128d442198 本文为读者投稿 决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 ...

  6. 太强了~Python 开发桌面小工具,让代码替我们干重复的工作

    决定写这篇文章的初衷是来源于一位小伙伴的问题,关于"如何根据数据源用 Python 自动生成透视表",这个问题背后有个非常好的解决思路,让代码替我们做重复的工作,从而减轻工作量,减 ...

  7. 自制 Windows 小工具 ———— 文字识别助手

    自制 Windows 小工具 ---- 文字识别助手 背景 问题分析 工具准备 第一部分:屏幕截图的实现 文字识别 结果展示 保持原格式 事件绑定 背景 使用电脑的时候经常遇到图片上满是文字,想复制却 ...

  8. 自制 Windows 小工具 ———— 智能截屏工具

    自制 Windows 小工具 ---- 智能截屏工具 背景 需求分析 环境准备 功能实现 获取截图区域 获取文件保存路径 图像算法 截屏 快捷启动 背景 上网课期间,很多同学(包括老师)都会选择(提倡 ...

  9. python运维小工具_Python实现跨平台运维小神器

    (本文已不再同步更新,最新代码请移步github) 这阵子一直在学python,碰巧最近想把线上服务器环境做一些规范化/统一化,于是便萌生了用python写一个小工具的冲动.就功能方面来说,基本上是在 ...

最新文章

  1. 不去参加团建k歌,第二天被降薪降职
  2. 【Android开发】范例1-实现带描边的圆角图片
  3. Django Mysql SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
  4. C语言 IP地址合法性判断 去除字符串首尾空格
  5. CodeForces - 1196F K-th Path(最短路+思维)好题
  6. 测试JTable添加数据
  7. 白话容器namespace
  8. JavaScript学习(十三)—节点关系
  9. 可见光迁移——学习笔记
  10. linux 驱动程序 设备模块 设备号 设备文件创建 设备注册 字符驱动设备分析
  11. Adobe Illustrator (AI)安装教程 (附安装包下载资源)
  12. pcnn关系抽取论文阅读总结:尽量细节表现出来
  13. JAVA中读写文件操作
  14. 首次!让我们出一个基于延迟的同行 IP 库数据评估来打个样~
  15. 根据银行卡号获取银行名称
  16. 软件测试简历项目经验该怎么写?【两年经验】
  17. 颜色RGB 与 html 代码 对照表
  18. 一个简单的抓取百度热度数据并可视化的demo
  19. TTT培训,关于培训师的培训
  20. mysql数据库生成脚本工具下载_PHPMaker下载-基于MYSQL数据库自动生成PHP脚本的软件 v2019.0.2.2 官方版 - 安下载...

热门文章

  1. ubuntu-安装网易云音乐
  2. python判断字母大小写_python用函数怎么判断大小写
  3. 详解网站标志的5种设计制作表现手法
  4. 浅学node以及npm总结
  5. java时间带T的格式化
  6. flask 多进程/多线程 解决高并发问题
  7. 1978-2021年全国GDP平减指数计算模板
  8. 八招简易按摩成就美丽容颜
  9. python 下列表达式的值为true的是_下列表达式的值为True的是 ( )
  10. 转载网上一段文字,勿以善小而不为