📅  最后修改于: 2023-12-03 15:04:22.659000             🧑  作者: Mango
Python中的shutil模块提供了一系列高级的文件操作功能,其中包括将一个目录及其子目录下的所有文件和文件夹复制到另一个目录中的方法shutil.copytree()。
shutil.copytree(src, dst, symlinks=False, ignore=None)
无返回值,仅用于复制源目录到目标目录。
import shutil
import os
# 创建一个示例源目录
src_dir = os.path.join(os.getcwd(), 'src')
if not os.path.exists(src_dir):
os.mkdir(src_dir)
file1 = open(os.path.join(src_dir, 'file1.txt'), 'w')
file1.write('Some contents here.\n')
file1.close()
os.mkdir(os.path.join(src_dir, 'subdir'))
file2 = open(os.path.join(src_dir, 'subdir', 'file2.txt'), 'w')
file2.write('Some contents here too.')
file2.close()
# 创建示例目标目录
dst_dir = os.path.join(os.getcwd(), 'dst')
if os.path.exists(dst_dir):
shutil.rmtree(dst_dir)
os.mkdir(dst_dir)
# 复制源目录到目标目录
shutil.copytree(src_dir, dst_dir)
# 验证是否复制成功
assert os.path.exists(os.path.join(dst_dir, 'file1.txt'))
assert os.path.exists(os.path.join(dst_dir, 'subdir', 'file2.txt'))
# 打印消息提示
print('Directory copied successfully!')
运行上述Python程序后,可以在消息窗口中看到以下输出:
Directory copied successfully!