python搜索文件夹并拷贝指定文件?
有时候,我们需要在一堆文件夹中搜索并拷贝我们想要的文件。使用Python,可以轻松实现这一过程。
首先,我们需要使用os库来访问文件系统。要搜索文件夹,我们可以使用os.walk()函数,它会遍历文件夹中的所有文件和子文件夹。
import os
def find_files(root, filename):
result = []
for subdir, dirs, files in os.walk(root):
for file in files:
if file == filename:
result.append(os.path.join(subdir, file))
return result
在上面的代码中,我们定义了一个名为find_files()的函数,该函数接受两个参数:根路径和要搜索的文件名。该函数遍历根路径下的所有子文件夹,查找文件名与指定文件名相同的文件,并将其路径存储在一个列表中。最后,函数返回该列表。
接下来,我们可以使用shutil库中的函数cp()来复制文件。以下是一个例子:
import shutil
def copy_files(src, dest):
shutil.copy(src, dest)
在这个例子中,我们定义了一个名为copy_files()的函数,它接受两个参数:源文件路径和目标文件路径,并使用shutil库的copy()函数将文件从源复制到目标路径。
最后,我们可以将这两个函数组合起来,以在文件系统中搜索并拷贝指定的文件:
def search_and_copy(root, filename, dest):
files = find_files(root, filename)
for file in files:
copy_files(file, dest)
在这个例子中,我们使用之前定义的find_files()和copy_files()函数来搜索和拷贝指定文件。search_and_copy()函数接受3个参数:根路径、要搜索的文件名和目标文件夹路径。
结论
使用Python,我们可以轻松地搜索文件夹并拷贝指定文件。通过使用os库的walk()函数来搜索文件夹,shutil库中的cp()函数来拷贝文件,以及一些简单的功能来组合它们,我们可以快速地编写一个简单的脚本来帮助我们完成这项任务。