[Python] 纯文本查看 复制代码import os,pickle,operator
class Mypickle:
def __init__(self, path, file):
self.path=path
self.file=file
def getsave(self):
oldlist=[]
if os.path.isfile(self.file) and os.path.getsize(self.file)>0:
with open (self.file,'rb') as f:
oldlist=pickle.load(f)
return oldlist
def getdata(self):
list=[]
for path,folder,file in os.walk(self.path):
for i in range(len(file)):
size=str(os.path.getsize(os.path.join(path,file[i])))
list.append([path+'\\'+file[i]+size])
return list
def savedata(self,data):
with open(self.file,'wb+') as f:
pickle.dump(data,f)
def comparison(self,data1,data2):
list3=[]
for i in range(len(data1)):
if data1[i] not in data2:
list3.append(data1[i])
return list3
if __name__ == '__main__':
path='D:\www'
file=r'C:\Users\Administrator\Desktop\data.pickle'
tmp2=[]
tmp1=[]
dif={}
a=Mypickle(path,file)
tmp2=a.getdata()
if os.path.isfile(file):
tmp1=a.getsave()
if tmp1 is None or len(tmp1)==0:
print('第一次运行,存储当前路径下所有文件名和文件大小:')
a.savedata(tmp2)
if tmp1 is not None and len(tmp1)>0:
if operator.ne(tmp1,tmp2):
dif=a.comparison(tmp1,tmp2)
print('有变化的文件:',dif)
else:
print('未发现有变化文件')