使用Python监视指定目录下文件变更的方法
监视指定目录下文件变更。
#-*-coding:utf-8-*- #@Author:xiaodong #@Date:justhide #@LastModifiedby:xiaodong #@LastModifiedtime:justhide importos importglob importjson importdatetime fromtypingimportIterable """ 监视指定目录下文件变更 """ defpenetrate(root:os.path)->Iterable: foreleinglob.glob(os.path.join(root,'*')): ifos.path.isdir(ele): yieldele yieldfrompenetrate(os.path.abspath(ele)) else: yieldele defupdate(s:set,exists:bool=False,mode:str='w')->Noneordict: withopen('file_records.json',encoding='utf-8',mode=mode)asfile: ifnotexists: json.dump({'datetime':str(datetime.datetime.now()), 'files':list(s)},file,ensure_ascii=False,indent=10) else: returnjson.load(file) defmain(s:set=set(),root:os.path='.')->None: forpathinpenetrate(root): s.add(path) ifnotos.path.exists('file_records.json'): update(s) else: d=update(None,True,'r') files=s-set(d['files']) files2=set(d['files'])-s iffiles: print('增加文件:',files) iffiles2: print('删除文件:',files2) iffilesorfiles2: update(s) print('更新成功!') if__name__=="__main__": main()
以上这篇使用Python监视指定目录下文件变更的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。