Python批量查找并复制包含特定关键词的文件

沈知远
沈知远
发布时间:2026-10-13| 3人浏览过
原创

本文介绍利用Python脚本根据Excel列表中的关键词,从大量文件中批量查找并复制匹配文件的方法。通过遍历文件夹、读取Excel列表、判断文件名包含关系,实现文件的自动筛选与复制,并统计关键词出现次数,适用于文件整理与数据预处理场景。

Python批量查找文件背景与准备

本文分享一段使用Python实现的批量查找文件代码,供读者参考。

实际场景中,若需从上千个文件中筛选出包含特定关键词的500多个目标文件,且仅掌握关键词而非完整文件名,手动操作效率极低。

为验证方案可行性,首先准备一个包含目标关键词的Excel文件,命名为filename。

随后创建一个存放待筛选文件的文件夹作为测试环境。

配置好路径后,执行编写的Python脚本。

Python批量查找文件核心代码实现


import os
import numpy as np
import pandas as pd
import shutil

file_path='/home/disk/yh_test/myfiles' #文件路径
filename_path='/home/disk/yh_test/filename.xlsx' #文件列表

filelist=os.listdir(file_path)  #获取文件夹中的文件名称
file_name=pd.read_excel(filename_path) #读取所需文件列表

file_name['count']=0 #定义新的一列count,用于计数
for file in filelist:
 m=file_name.shape[0] #表格的行数
 olddir=os.path.join(file_path,file) #每一个文件路径
 for i in range(m):
  if str(file_name['name'][i]) in file: #寻找对应的文件名
   F="/home/disk/yh_test/myfiles_filter/" #新文件夹名称(先建好)
   newdir=os.path.join(F,file)
   shutil.copy(olddir,newdir)  #复制到新文件夹中
   file_name['count'][i]=file_name['count'][i]+1 #计数
   print(file) #打印出文件名,其实我是为了看它是不是在运行
  else:
   continue

file_name.to_excel('file_name_count.xlsx')  #保存新的文件列表

Python批量查找文件运行结果分析

脚本运行结束后,控制台输出处理结果。

生成的新文件夹myfiles_filter中仅包含匹配成功的文件。

有关键字的文件都被复制过来了。

此外,脚本还会生成一个新的Excel列表,记录每个关键词在匹配文件中出现的次数。

以上即为Python批量查找文件的核心实现,希望能为相关技术学习提供实用参考。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。