📅  最后修改于: 2023-12-03 14:49:50.423000             🧑  作者: Mango
在日常工作中,有时候需要将一个目录中的所有文件复制到另一个目录中,这时可以使用Python来完成这个任务。
shutil模块是Python标准库中的一个模块,可以用于文件的复制、移动、删除等操作。
import shutil
# 定义源目录和目标目录
src_dir = "/path/to/source/directory"
dst_dir = "/path/to/destination/directory"
# 使用shutil模块的copytree函数将源目录复制到目标目录
shutil.copytree(src_dir, dst_dir)
copytree函数的详细参数说明:
shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,
ignore_dangling_symlinks=False)
参数说明:
另一种方式是先遍历源目录中所有的文件和子目录,然后逐个复制到目标目录中。
import os
import shutil
# 定义源目录和目标目录
src_dir = "/path/to/source/directory"
dst_dir = "/path/to/destination/directory"
# 遍历源目录中的所有文件和子目录
for root, dirs, files in os.walk(src_dir, topdown=False):
for name in files:
# 构造源文件路径和目标文件路径
src_file = os.path.join(root, name)
dst_file = src_file.replace(src_dir, dst_dir)
# 复制文件
shutil.copy2(src_file, dst_file)
for name in dirs:
# 构造源子目录路径和目标子目录路径
src_subdir = os.path.join(root, name)
dst_subdir = src_subdir.replace(src_dir, dst_dir)
# 创建子目录
if not os.path.exists(dst_subdir):
os.makedirs(dst_subdir)
copy2函数的详细参数说明:
shutil.copy2(src, dst, *, follow_symlinks=True)
参数说明:
使用Python将所有文件从一个目录复制到另一个目录非常简单,可以使用shutil模块或os模块和shutil模块的组合。其中,使用shutil模块更加方便和快捷,而os模块和shutil模块的组合则更灵活和可定制。根据具体的任务需求选择相应的方法即可。