Python-文件夹的拷贝操作

在Python中,想要实现文件夹的拷贝,需使用shutil包,其中文件复制的内置函数为shutil.copy 这里介绍两种拷贝方式: 第一种为文件夹整体拷贝:
import os
import shutil

source_path = os.path.abspath(r'E:\Projects\source_dir')
target_path = os.path.abspath(r'E:\Projects\new folder\target_dir')

if not os.path.exists(target_path):
    # 如果目标路径不存在原文件夹的话就创建
    os.makedirs(target_path)

if os.path.exists(source_path):
    # 如果目标路径存在原文件夹的话就先删除
    shutil.rmtree(target_path)

shutil.copytree(source_path, target_path)
print('copy dir finished!')
  第二种为文件夹下的所有文件(包括子目录文件)拷贝到目标文件夹下:
import os
import shutil

source_path = os.path.abspath(r'E:\Projects\source_dir')
target_path = os.path.abspath(r'E:\Projects\target_dir')

if not os.path.exists(target_path):
    os.makedirs(target_path)

if os.path.exists(source_path):
    # root 所指的是当前正在遍历的这个文件夹的本身的地址
    # dirs 是一个 list,内容是该文件夹中所有的目录的名字(不包括子目录)
    # files 同样是 list, 内容是该文件夹中所有的文件(不包括子目录)
    for root, dirs, files in os.walk(source_path):
        for file in files:
            src_file = os.path.join(root, file)
            shutil.copy(src_file, target_path)
            print(src_file)

print('copy files finished!')
搜索