网站首页 > 技术文章 正文
你是否曾经为了找一个文件而翻遍了整个电脑,甚至陷入了“明明就存了,怎么也找不到”的困境?今天,我将为大家揭秘一项Python神技——一键查找文件,让你从此告别手动翻找的烦恼!
小李的"文件堆"
我的朋友小李是他们公司的核心设计元老。自公司成立以来,所有的产品设计都出自小李之手,而所有的产品参数也都是他在精心记录。但是,小李有一个小小的“坏习惯”——他并不是一个擅长文件整理的人。
在小李的电脑里,无数的文件直接存放在C盘或者微信的缓存路径中,犹如一座座未开发的“矿山”。每当公司需要回顾某个产品的设计原稿或者查找某个产品的参数时,小李就需要花费大量的时间去手动翻找这些文件。这不仅浪费了他宝贵的时间,也给他的工作带来了不少麻烦。这时就需要能够按照文件名和文件关键词的工具
按照文件名查找,轻松定位目标文件
在浩如烟海的文件中,有时我们只需要根据文件名就能快速定位到目标文件。Windows自带的这个功能有两大问题:一是无法全局搜索,二是搜索速度极慢。
当你知道文件名或文件名模式时,Python的glob模块就能大显身手。通过简单的几行代码,你就能按照文件名模式查找文件,Python的glob模块就能派上大用场。通过简单的几行代码,你就能按照文件名模式查找文件,无论是全局文件还是当前目录还是子目录中的文件,只需要你输入你想要查找的硬盘范围和文件名格式,都能轻松找到。
import glob
def find_files_by_name(pattern, path='.'):
"""
按照文件名查找文件
:param pattern: 文件名模式,例如 "*vft*.pdf,文件名包含vft的pdf文件"
:param path: 查找的目录路径,默认为当前目录
:return: 匹配到的文件列表
"""
return glob.glob(f'{path}/**/{pattern}', recursive=True)
# 使用示例
file_list = find_files_by_name("*vft*.pdf",'E:\\code\\pdf2word\\')
for file_path in file_list:
print(file_path)

按照文件内容查找文件
但是,有时我们可能只知道文件内容中的某个关键词或特定格式,这时就需要按照文件内容来查找文件了。Python的os和re模块将助你一臂之力。
import os
import re
import time
st = time.time()
# 假设小李要查找包含"import"关键词的文件
def search_content(key_word,root_dir):
pattern = re.compile(key_word)
matching_files = []
for root, dirs, files in os.walk(root_dir):
for file in files:
file_path = os.path.join(root, file)
if file_path.endswith(('.psd', '.ai', '.txt', '.csv',".xlsx",".docx",".py")): # 假设小李的文件主要是这些类型
with open(file_path, 'r', encoding='utf-8', errors='ignore') as f:
content = f.read()
if pattern.search(content):
matching_files.append(file_path)
return matching_files
# 输出匹配到的文件路径
file_paths = search_content(r'import',"E:\\")
for file_path in file_paths:
print(file_path)
et = time.time()
u_t = et - st
print(f"一共查找到了{len(file_paths)}个文件")
print(f"用时{u_t}s")
仅需6s就能从370G的硬盘中,查找到了29000多个匹配的文件,效率惊人


一键查找文件,让你的电脑井井有条
通过将以上代码打包成exe文件【方法可以参照我的另一篇文章《人人都能享受办公自动化的便利——三步将Python程序转为软件》】,小李终于能够轻松实现一键查找文件的功能了。他的工作效率大大提高,再也不用为了找一个文件而烦恼了。更重要的是,他的电脑也变得更加井井有条了!
亲爱的朋友们,如果你也和小李一样遇到了文件查找的烦恼,不妨试试这些Python神技吧!希望它们能为你带来帮助。
如果你喜欢这篇文章,请点赞、分享并关注我们的公众号,我们将为你带来更多有趣、实用的技术文章
Python自动化办公46
Python自动化办公 · 目录
上一篇Python自动化办公,告别加班苦海!一键解决工资条发放大难题!下一篇python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍,解放双手!
猜你喜欢
- 2024-12-29 cgitb,一个非常实用但容易被忽视的宝藏Python库
- 2024-12-29 Python爬虫入门(四):实战,爬取4399小游戏首页
- 2024-12-29 揭秘Python中的超强库:Hypothesis
- 2024-12-29 python+selenium做ui自动化测试用法必会
- 2024-12-29 肝了三天三夜,一文道尽Python的xpath解析
- 2024-12-29 基于opencv的轮廓匹配算法:python代码实现
- 2024-12-29 发掘 Python 的宝藏库:faulthandler,让你的调试轻松无比
- 2024-12-29 业余电台梅登黑德定位系统python计算程序
- 2024-12-29 wxPython - 布局管理简介及绝对位置布局
- 2024-12-29 如何利用python+selenium+ajax-hook抓取网页后台返回的json数据
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)