基于带有部分文件名的文本文件搜索目录和子目录,并将这些文件复制到新目录中,可以通过以下步骤实现:
open()
和readlines()
)逐行读取文件内容,并将每行的文件名存储在一个列表中。os.walk()
)来搜索文件系统中的目录和子目录。对于每个目录,可以获取其下的所有文件名,并与步骤1中的文件名列表进行匹配。shutil.copy()
)将其复制到新目录中。可以为每个文件生成一个新的目标路径,并使用文件复制函数将文件从原始路径复制到新路径。以下是一个示例的Python代码,用于实现上述步骤:
import os
import shutil
def search_and_copy_files(directory, text_file):
# 读取文本文件,获取文件名列表
with open(text_file, 'r') as file:
file_names = [line.strip() for line in file.readlines()]
# 遍历目录和子目录,搜索文件并复制到新目录
for root, dirs, files in os.walk(directory):
for file in files:
for name in file_names:
if name in file:
# 构建目标路径
source_path = os.path.join(root, file)
target_path = os.path.join('新目录路径', file) # 替换为实际的新目录路径
# 复制文件到新目录
shutil.copy(source_path, target_path)
# 调用函数进行搜索和复制
search_and_copy_files('目标目录路径', '文件名列表文本文件路径') # 替换为实际的目标目录路径和文件名列表文本文件路径
请注意,上述代码中的目标路径和文件名列表文本文件路径需要根据实际情况进行替换。此外,还可以根据需要进行错误处理、日志记录等其他功能的添加。
领取专属 10元无门槛券
手把手带您无忧上云