Python自动化:一键查找文件,告别手动翻找!拯救你的“文件堆”

我是智能取经人 2024-05-22 20:06:21

你是否曾经为了找一个文件而翻遍了整个电脑,甚至陷入了“明明就存了,怎么也找不到”的困境?今天,我将为大家揭秘一项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 timest = 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 - stprint(f"一共查找到了{len(file_paths)}个文件")print(f"用时{u_t}s")

仅需6s就能从370G的硬盘中,查找到了29000多个匹配的文件,效率惊人

一键查找文件,让你的电脑井井有条

通过将以上代码打包成exe文件【方法可以参照我的另一篇文章《人人都能享受办公自动化的便利——三步将Python程序转为软件》】,小李终于能够轻松实现一键查找文件的功能了。他的工作效率大大提高,再也不用为了找一个文件而烦恼了。更重要的是,他的电脑也变得更加井井有条了!

亲爱的朋友们,如果你也和小李一样遇到了文件查找的烦恼,不妨试试这些Python神技吧!希望它们能为你带来帮助。

如果你喜欢这篇文章,请点赞、分享并关注我们的公众号,我们将为你带来更多有趣、实用的技术文章

Python自动化办公46

Python自动化办公 · 目录

上一篇Python自动化办公,告别加班苦海!一键解决工资条发放大难题!下一篇python自动化办公:4秒钟生成399份荣誉证书,效率提升2万倍,解放双手!

0 阅读:2

我是智能取经人

简介:感谢大家的关注