python复制文件夹并覆盖_Python-移动和覆盖文件和文件夹

由于以上这些都不适合我,所以我编写了自己的递归函数。调用函数copyTree(dir1,dir2)合并目录。在多平台Linux和Windows上运行。def forceMergeFlatDir(srcDir, dstDir):

if not os.path.exists(dstDir):

os.makedirs(dstDir)

for item in os.listdir(srcDir):

srcFile = os.path.join(srcDir, item)

dstFile = os.path.join(dstDir, item)

forceCopyFile(srcFile, dstFile)

def forceCopyFile (sfile, dfile):

if os.path.isfile(sfile):

shutil.copy2(sfile, dfile)

def isAFlatDir(sDir):

for item in os.listdir(sDir):

sItem = os.path.join(sDir, item)

if os.path.isdir(sItem):

return False

return True

def copyTree(src, dst):

for item in os.listdir(src):

s = os.path.join(src, item)

d = os.path.join(dst, item)

if os.path.isfile(s):

if not os.path.exists(dst):

os.makedirs(dst)

forceCopyFile(s,d)

if os.path.isdir(s):

isRecursive = not isAFlatDir(s)

if isRecursive:

copyTree(s, d)

else:

forceMergeFlatDir(s, d)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值