本帖最后由 basfan 于 2020-7-10 09:21 编辑
因为以前有所管理的网站被黑经历,所以现在管理网站战战兢兢,总害怕被黑,网页内容被篡改,而用第三方工具又不放心,所以自己写了一个小程序,监控网站目录文件夹,看看有没有文件或上的变化,比较简陋,供大家参考。
顺便问一下各位高手,有没有好的文件比对方法?谢谢!
[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('未发现有变化文件')
下面是程序源代码,在python3.8.3上调试通过
监控文件夹内容变化.zip
(861 Bytes, 下载次数: 32)
|