python 图片对比文件夹_使用python比较两个文件夹的文件并更新

import os,shutil

import datetime

#将子文件夹里的文件全部移动出来,去除重复文件(文件名相同,大小相同则跳过)

#revised by Stephen Shen

#2020-3-8 16:31:07

src='G:\_debug0229'

dst='D:\_debug0229'

# oldfile=os.path.getsize(r'G:\_debug0229\111.txt')

# newfile=os.path.getsize(r'd:\_debug0229\111.txt')

for folderName,subFolders,fileNames in os.walk(src):

# print('The current foler is '+folderName)

# for subfolder in subFoldst` s:

# print('Subfolder of '+folderName+' :'+subfolder)

for filename in fileNames:

# print('File inside '+folderName+' :'+filename)

srcpath=os.path.join(folderName,filename)

relpath=os.path.relpath(folderName,src)

dstpath=os.path.join(dst,relpath,filename)

if os.path.exists(dstpath):

srcsize=os.path.getsize(srcpath)

dstsize=os.path.getsize(dstpath)

if srcsize==dstsize:

#文件名相同且大小相同

# print('File inside '+folderName+' :'+filename+' is skipped')

continue

else:

fdirname,fbasename=os.path.split(dstpath)

#文件名相同但大小不同

fname,fext=os.path.splitext(fbasename)

nowtime=datetime.datetime.now()

strtime=str(nowtime.year)+str(nowtime.month)+str(nowtime.day)+str(nowtime.hour)+str(nowtime.minute)

newfbasename=fname+'-'+strtime+fext

dstpath=os.path.join(fdirname,newfbasename)

print('File inside '+folderName+' :'+filename+' is renamed')

shutil.copyfile(srcpath,dstpath)

else:

shutil.copyfile(srcpath,dstpath)

print('File inside '+folderName+' :'+filename+' is copied')

print('done')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值