使用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监视指定目录下文件变更的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。