使用Python监视指定目录下文件变更的方法
Python  /  管理员 发布于 7年前   151
监视指定目录下文件变更。
# -*- coding: utf-8 -*-# @Author: xiaodong# @Date: just hide# @Last Modified by: xiaodong# @Last Modified time: just hideimport osimport globimport jsonimport datetimefrom typing import Iterable"""监视指定目录下文件变更"""def penetrate(root: os.path) -> Iterable: for ele in glob.glob(os.path.join(root, '*')): if os.path.isdir(ele): yield ele yield from penetrate(os.path.abspath(ele)) else: yield eledef update(s: set, exists: bool=False, mode: str='w') -> None or dict : with open('file_records.json', encoding='utf-8', mode=mode) as file: if not exists: json.dump({'datetime': str(datetime.datetime.now()), 'files': list(s)}, file, ensure_ascii=False, indent=10) else: return json.load(file)def main(s: set=set(), root: os.path='.')-> None: for path in penetrate(root): s.add(path) if not os.path.exists('file_records.json'): update(s) else: d = update(None, True, 'r') files = s - set(d['files']) files2 = set(d['files']) - s if files: print('增加文件: ', files) if files2: print('删除文件: ', files2) if files or files2: update(s) print('更新成功!')if __name__ == "__main__": main()
以上这篇使用Python监视指定目录下文件变更的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号