Python递归拷贝文件夹下所有目录和文件

定义函数如下:

def copydirs(from_file, to_file):
    if not os.path.exists(to_file):  # 如不存在目标目录则创建
        os.makedirs(to_file)
    files = os.listdir(from_file)  # 获取文件夹中文件和目录列表
    for f in files:
        if os.path.isdir(from_file + '/' + f):  # 判断是否是文件夹
            copydirs(from_file + '/' + f, to_file + '/' + f)  # 递归调用本函数
        else:
            shutil.copy(from_file + '/' + f, to_file + '/' + f)  # 拷贝文件

使用方法:

if __name__ == '__main__':
    from_file = "C:/Users/Administrator/Desktop/test"
    to_file = "C:/Users/Administrator/Desktop/test1"
    copydirs(from_file, to_file)

递归拷贝后,目录下所有的分支与文件均拷贝到新文件夹中了。

在此情况下,可以执行对文件名、文件类型等进行判断,判断是否进行拷贝等情况。

如果想直接拷贝不做其它操作,可使用 shutil.copytree 函数。

你可能感兴趣的:(Python,[编程日常]Python)