使用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')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现