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!')