python-----复制文件夹

python复制文件夹有两种方法:

1、使用shutil模块:(要保存的路径必须事先不存在)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/1/4 12:35
# @Author  : zxb
import os
import shutil

def handleAssetsFile(path,path1):
    #复制目录,olddir和newdir都只能是目录,且newdir必须不存在
    if os.path.exists(path1):
        print(path1, '存在先删除')
        shutil.rmtree(path1)
    print('拷贝代码文件夹开始...')
    shutil.copytree(path, path1)
    print('拷贝代码文件夹结束!
')

if __name__ == "__main__":
    path = r'E:1'
    path_save = r'E:11'
    handleAssetsFile(path, path_save)

2、使用shell模块:(要保存的路径事先可以存在)

import os
from win32com.shell import shell,shellcon

# debug = False
def fuzhi(filename1,filename2):#filename1是原路径,filename2是要保存的路径
    print('fuzhi', filename1,filename2)
    # if not debug:
    res = shell.SHFileOperation((0, shellcon.FO_COPY, filename1, filename2,
                                  shellcon.FOF_NOCONFIRMATION | shellcon.FOF_NOERRORUI | shellcon.FOF_SILENT,
                                 None, None))
if __name__ == '__main__':
    path_yuan = r'E:105yuan/'
    path_xian = r'E:105xian/'
    fuzhi(path_yuan,path_xian)
FOF_SILENT  //不产生正在复制的对话框
FOF_NOCONFIRMMKDIR//如果目的目录不存在,就默认创建
FOF_NOCONFIRMATION //不出现确认文件替换对话框(Confirmation Dialog)(默认替换原来的文i件)
FOF_NOERRORUI//不出现错误对话框
最好不要同时使用FOF_NOERRORUI,FOF_NOCONFIRMMKDIR,因为FOF_NOCONFIRMMKDIR屏蔽了missing directory Error
但FOF_NOERROR又屏蔽了missing directory Error,那么在同时使用FOF_NOERRORUI,FOF_NOCONFIRMMKDIR

SHFileOperation用法请移步:https://www.cnblogs.com/xiaodai0/p/10174877.html

              

原文地址:https://www.cnblogs.com/xiaodai0/p/10240020.html