使用shutil模块在Python中实现递归复制和移动文件

2023-03-26 00:00:00 模块 复制 递归

使用shutil模块可以方便地实现递归复制和移动文件。递归复制指的是将目录中的所有文件和子目录都复制到目标目录中,而递归移动则是将目录中的所有文件和子目录都移动到目标目录中。以下是递归复制和移动文件的示例代码:

import os
import shutil

# 定义源目录和目标目录
src_dir = 'pidancode.com'
dst_dir = 'my_folder'

# 递归复制文件
shutil.copytree(src_dir, os.path.join(dst_dir, os.path.basename(src_dir)))

# 递归移动文件
shutil.move(src_dir, dst_dir)

在这个例子中,我们首先定义了源目录和目标目录。然后,我们使用shutil.copytree()函数将源目录递归地复制到目标目录中。os.path.join()函数用于将目标目录和源目录的基本名称连接起来,以创建完整的目标路径。os.path.basename()函数用于获取源目录的基本名称。

接下来,我们使用shutil.move()函数递归地将源目录移动到目标目录中。该函数还可以用于重命名文件或目录。

请注意,在递归复制或移动文件时,目标目录必须不存在。如果目标目录已经存在,则需要在目标目录中创建一个新的目录,然后将源目录复制或移动到该目录中,以避免覆盖已经存在的文件。

相关文章