# -*- coding:UTF-8 -*-
'''
Created on 2010-4-30
@author: shiyong
'''
import os
class Compare(object):
'''
文件夹比较工具
功能:目前只未比较文件的名称和大小,未比较md5
'''
def __init__(self):
'''
Constructor
'''
#遍历比较
def visit(self,newpath,oldpath):
if os.path.isdir(newpath) and os.path.isdir(oldpath):
# print '比较'+newpath+'和'+oldpath
newdirs = os.listdir(newpath)#新文件夹列表
olddirs = os.listdir(oldpath)#原文件夹列表
for filef in newdirs:
nfpath = newpath+'\\'+filef#新文件中子文件或子文件夹得绝对路径
ofpath = oldpath+'\\'+filef#原文件中子文件或子文件夹得绝对路径
if filef not in olddirs:#在原文件夹中不存在同名的
print '不存在'+ofpath
else:#存在同名
#比较的都是文件
if os.path.isfile(nfpath) and os.path.isfile(ofpath):
if os.path.getsize(nfpath) != os.path.getsize(ofpath):
print '不存在'+ofpath+'原因:文件大小不一致'
#比较的都是文件夹
elif os.path.isdir(nfpath) and os.path.isdir(ofpath):
self.visit(nfpath, ofpath)
else:
pass
else:
print '请检查要比较的文件夹是否存在'
return
if __name__ == '__main__':
c = Compare()
c.visit('D:\i-dong','D:\Ubuntu')
文件夹差异文件对比工具
最新推荐文章于 2024-04-18 08:03:30 发布