从文件夹(包含子文件夹)找到的包含特定关键词的 Word 文档复制到一个新的文件夹中

python 复制代码
import os
import glob
import shutil

def find_and_copy_docs(root_dir, keyword, target_dir):
    """
    在指定的目录及其子目录下查找包含特定关键词的 Word 文档,并将它们复制到目标文件夹。

    参数:
    root_dir: 要搜索的根目录路径。
    keyword: 需要匹配的关键词。
    target_dir: 复制到的目标文件夹路径。
    """
    # 为了匹配包含关键词的文件名,构建一个搜索模式
    pattern = f"*{keyword}*.docx"

    # 确保目标文件夹存在
    os.makedirs(target_dir, exist_ok=True)

    # 存储找到的文件的列表
    found_files = []

    # 遍历 root_dir 下的所有目录和子目录
    for dirpath, dirnames, filenames in os.walk(root_dir):
        # 在当前目录下查找匹配模式的文件
        for filename in glob.glob(os.path.join(dirpath, pattern)):
            found_files.append(filename)
            # 复制文件到目标文件夹
            shutil.copy(filename, target_dir)
    
    return found_files

# 使用示例
root_directory = 'path/to/your/directory'  # 请替换为你的目录路径
keyword = '题目总和'
target_directory = 'path/to/target/directory'  # 目标文件夹路径,请替换为你的目标路径
matching_files = find_and_copy_docs(root_directory, keyword, target_directory)

# 打印结果
print("找到并复制的包含关键词的 Word 文档:")
for file in matching_files:
    print(file)

这个脚本现在包含了一个 find_and_copy_docs 函数,它接收一个目标文件夹路径作为额外的参数。在找到符合条件的 Word 文档后,脚本使用 shutil.copy 函数将每个文档复制到指定的目标文件夹中。如果目标文件夹不存在,os.makedirs(target_dir, exist_ok=True) 语句将会创建它。

请确保将 root_directory 和 target_directory 变量替换为你想要搜索的实际目录路径和你希望复制文件到的目标文件夹路径。运行脚本后,所有匹配的文件都会被复制到指定的目标文件夹中,同时在控制台打印出这些文件的路径。

相关推荐
小七-七牛开发者6 分钟前
让 Go 走得更远:用 LLGo 打通 Go 与 C/C++/Python 生态
python·编程·编译器·llvm·llgo
这个DBA有点耶29 分钟前
MySQL 8.0不可见索引:删索引怕出事,不删又拖慢写入——中间态怎么用?
数据库·mysql·代码规范
CyrusYiVPP1 小时前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
2601_967980112 小时前
Python中flatten( )函数及函数用法详解
python·numpy·数组操作·flatten函数·列表处理
测试界的小码农2 小时前
【图数据库实战进阶(01):从零认识 Neo4j,搭建第一个图数据库项目】
数据库·neo4j
xbzb2 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
x_SpiderMan2 小时前
搭建Oracle RAC 集群
数据库·oracle
测试界的小码农2 小时前
【图数据库实战进阶(03):Neo4j 图数据建模实战——节点、关系与属性应该怎么设计?】
数据库·oracle·neo4j
瑞克-桑切斯2 小时前
redis
数据库·redis·缓存
freejackman3 小时前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构