当前位置:
首页 > temp > python入门教程 >
-
电脑文件又又又找不到了?教你用Python一招解决!让电脑秘密无处可藏!
在日常生活工作中,我们很多时候都是凭着记忆去找文件,要是文件突然不见了,就只能用电脑自带的搜索工具去找,但是Python也能帮助我们找文件,你知道吗?
于是老夫心血来潮用Python写了个文件搜索工具,感觉还是比电脑本身的方便一些。
先给大家安排一波福利…
开发环境:
这是要用到的软件,大家没有的话,可以私信我,本文的完整源码,相关视频教程等等都可以获取到
|
1. 解释器: Python 3.6.5 | Anaconda, Inc. |
|
2. 编辑器: pycharm 专业版 |
具体怎么实现的我就不一一去说了,大家要是只要代码的话,我会把代码放在下面,如果想学好,自己实现怎么做到的,可以看我这个教程,一步一步的手把手教大家实现
代码:
"""""" """ Python开发电脑文件搜索工具,让你硬盘中的秘密文件文件无处可藏 开发环境: 1. 解释器: Python 3.6.5 | Anaconda, Inc. 2. 编辑器: pycharm 专业版 课程收获: - tkinter 的使用 - 桌面应用程序开发 """ import tkinter as tk from tkinter import messagebox, filedialog import os root = tk.Tk() root.title('电脑文件搜索工具') root.geometry('600x300') # 搜索内容显示的组件 search_frame = tk.Frame(root) search_frame.pack() # Label 文本框 # pad padding 边框 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) submit = tk.Button(search_frame, text='搜索') submit.pack(side=tk.LEFT, padx=10, pady=10) # 一个程序员的能力与他敲过的代码是成正比的,如果想成为大牛 # ctrl + 鼠标左键 查看源码 list_box = tk.Listbox(root) list_box.pack(fill=tk.BOTH, expand=True, side=tk.LEFT) def search(): print('按钮被点击了') file_type = type_entry.get() key = key_entry.get() if not key: messagebox.showinfo('出错了', '请输入关键字再搜索') return if not file_type: messagebox.showinfo('出错了', '请输入文件类型再搜索') return print('关键字:', key) print('文件类型:', file_type) # 当都输入了内容的时候,在进行操作, # 调用 Windows 的文件管理系统,获取指定的目录 fn = filedialog.askdirectory() list_box.delete(0, tk.END) print(fn) # 目录,目录的子目录,目录的文件 for root_path, dirs, files in os.walk(fn): # print(root_path, dirs, files) for file in files: file_path = root_path + '/' + file # 然后过滤指定的文件类型 if file_path.endswith(file_type): print(file_path) # 从指定文件里面查找关键字 content = open(file_path, mode='r', encoding='utf-8-sig').read() if key in content: # 将找到内容的文件路径显示到列表盒子里面 list_box.insert(tk.END, file_path) """ 编程思维,量变达到质变 """ submit.config(command=search) """添加滚动栏""" sb = tk.Scrollbar(root) sb.pack(side=tk.LEFT, fill=tk.Y) # 将 sb 绑定到 list_box sb.config(command=list_box.yview) list_box.config(yscrollcommand=sb.set) """添加列表元素点击事件""" def list_box_click(event): # print(event) # print('添加列表元素点击事件') # 获取点击的内容 index = list_box.curselection() # print(index) file_path = list_box.get(index[0]) # print(file_path) # 获取到了文件路径,读取内容,显示到新的窗口 #显示查询到的内容 window = tk.Toplevel() # 子窗口对象 window.title('文件查看') content = open(file_path, mode='r', encoding='utf-8-sig').read() text = tk.Text(window) text.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) text.insert(tk.END, content) #创建滚动窗口并布局到页面上 sb2 = tk.Scrollbar(window) sb2.pack(side=tk.RIGHT, fill=tk.Y) # 将滚动栏绑定到文本框组件上 sb2.config(command=text.yview) text.config(yscrollcommand=sb2.set) #添加绑定时间,当列表框组件里面的元祖被点击之后触发 list_box.bind('<Double-Button-1>', list_box_click) root.mainloop()
作者:静默虚空
出处:https://www.cnblogs.com/hahaa/p/14995198.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数