使用Python监视指定目录下文件变更的方法
监视指定目录下文件变更。
# -*- coding: utf-8 -*-
# @Author: xiaodong
# @Date: just hide
# @Last Modified by: xiaodong
# @Last Modified time: just hide
import os
import glob
import json
import datetime
from 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 ele
def 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监视指定目录下文件变更的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
简单文件操作python 修改文件指定行的方法
例一: 复制代码 代码如下: #!/usr/bin/pythonimport sysimport reif __name__=="__main__": f=file("hi.txt","w+") li=["hello\n","hi\n"] f.writelines(li) f.close() "W+"模式:如果没有hi.txt则创建文件写入:如果存在,则清空hi.txt内容,从新写入.
-
Python实现查询某个目录下修改时间最新的文件示例
本文实例讲述了Python实现查询某个目录下修改时间最新的文件.分享给大家供大家参考,具体如下: 通过Python脚本,查询出某个目录下修改时间最新的文件. 应用场景举例:比如有时候需要从ftp上拷贝自己刚刚上传的文件,那么这时就需要判断哪个文件的修改时间是最新的,即最后修改的文件是我们的目标文件. 直接撸代码: # -*- coding: utf-8 -*- import os import shutil def listdir(path, list_name): #传入存储的list for
-
Python实现批量更换指定目录下文件扩展名的方法
本文实例讲述了Python实现批量更换指定目录下文件扩展名的方法.分享给大家供大家参考,具体如下: #encoding=utf-8 #author: walker #date: 2013-12-06 #function: 深度遍历指定目录,更换指定扩展名 import os import os.path #读入指定目录并转换为绝对路径 rootdir = raw_input('root dir:\n') rootdir = os.path.abspath(rootdir) print('abso
-
Python 读取某个目录下所有的文件实例
在处理数据的时候,因为没有及时的去重,所以需要重新对生成txt进行去重. 可是一个文件夹下有很多txt,总不可能一个一个去操作,这样效率太低了.这里我们需要用到 os 这个包 关键的代码 <span style="font-size:14px;"># coding=utf-8 #出现了中文乱码的问题,于是我无脑utf-8 .希望后期的学习可以能理解 import os import os.path import re import sys import codecs rel
-
Python实现替换文件中指定内容的方法
本文实例讲述了Python实现替换文件中指定内容的方法.分享给大家供大家参考,具体如下: 这里使用python编写的程序,实现如下功能:将文件中的指定子串 修改为 另外的子串 编写的python程序,文件名是file_replace.py,具体代码如下: #!/usr/bin/env python #_*_ coding:utf-8 _*_ import sys,os if len(sys.argv)<4 or len(sys.argv)>5: sys.exit('There needs fo
-
python监控文件或目录变化
本文实例实现的功能是监控一个文件或目录的变化,如果有变化,把文件上传备份至备份主机,并且要监控上传过程是否有问题等,具体内容如下 #!/usr/bin/env python #coding=utf-8 # #Status wd gs/ccs sql file changed #文件有变化上传至备份主机,上传之后验证文件是否正确 # import paramiko,os,sys,datetime,time,MySQLdb from pyinotify import WatchManager, No
-
使用Python监控文件内容变化代码实例
利用seek监控文件内容,并打印出变化内容: #/usr/bin/env python #-*- coding=utf-8 -*- pos = 0 while True: con = open("a.txt") if pos != 0: con.seek(pos,0) while True: line = con.readline() if line.strip(): print line.strip() pos = pos + len(line) if not line.strip(
-
使用Python监视指定目录下文件变更的方法
监视指定目录下文件变更. # -*- coding: utf-8 -*- # @Author: xiaodong # @Date: just hide # @Last Modified by: xiaodong # @Last Modified time: just hide import os import glob import json import datetime from typing import Iterable """ 监视指定目录下文件变更 "&
-
python对指定目录下文件进行批量重命名的方法
本文实例讲述了python对指定目录下文件进行批量重命名的方法.分享给大家供大家参考.具体如下: 这段python代码可对c:\temp目录下的所有文件名为"scroll_1"文件替换为"scroll_00" import os path = 'c:\\temp' for file in os.listdir(path): if os.path.isfile(os.path.join(path,file))==True: newname = file.replace
-
php计算指定目录下文件占用空间的方法
本文实例讲述了php计算指定目录下文件占用空间的方法.分享给大家供大家参考.具体分析如下: php中可以通过 RecursiveDirectoryIterator 扩展 DirectoryIterator的getChildren() 方法提供访问子目录中的每一个元素的方法,下面的代码通过遍历访问目录下的所有文件,获取他们暂用的空间. <?php $dir = new RecursiveDirectoryIterator('C:\wamp'); $totalSize = 0; foreach (n
-
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
本文实例讲述了python实现搜索指定目录下文件及文件内搜索指定关键词的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python -O # -*- coding: UTF-8 -*- """ Sucht rekursiv in Dateiinhalten und listet die Fundstellen auf. """ __author__ = "Jens Diemer" __license__
-
Python读取指定目录下指定后缀文件并保存为docx
最近有个奇葩要求 要项目中的N行代码 申请专利啥的 然后作为程序员当然不能复制粘贴 用代码解决.. 使用python-docx读写docx文件 环境使用python3.6.0 首先pip安装python-docx pip install python-docx 然后下面是脚本 修改目录,这里默认取脚本运行目录下的src文件夹 取.cs后缀的所有文件 读取并保存为docx 有一点需要注意,如果文件中有中文,请用vscode或者其他编辑器使用utf-8格式打开,看看有没有乱码 其中每处理一个文件都会
-
python在指定目录下查找gif文件的方法
本文实例讲述了python在指定目录下查找gif文件的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python # Use the standard find method to look for GIF files. import sys, find if len(sys.argv) > 1: dirs = sys.argv[1:] else: dirs = [ '.' ] # Go for it. for dir in dirs: files = find.find
-
python获取指定目录下所有文件名列表的方法
本文实例讲述了python获取指定目录下所有文件名列表的方法.分享给大家供大家参考.具体实现方法如下: 这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表: # -*- coding: utf-8 -*- #~ #------------------------------------------------------------------ #~ module:wlab #~ Filename:wgetfilelist.py #~ Funct
-
C#获取项目指定目录下文件的方法
本文实例讲述了C#获取项目指定目录下文件的方法.分享给大家供大家参考.具体如下: public List<FileInfo> GetFiles() { string path = string.Concat(System.AppDomain.CurrentDomain.BaseDirectory,"Files\\"); //获取项目物理路径 string[] fileType=new string[]{"pdf\\","pps\\",
-
python统计指定目录内文件的代码行数
python统计指定目录内文件的代码行数,程序实现统计指定目录内各个python文件的代码总行数,注释行数,空行数,并算出所占百分比 这符合一些公司的小需求,实际代码量的统计工作 效果如图 代码如下: #coding:utf-8 import os,re #代码所在目录 FILE_PATH = './' def analyze_code(codefilesource): ''' 打开一个py文件,统计其中的代码行数,包括空行和注释 返回含该文件总行数,注释行数,空行数的列表 :param cod
随机推荐
- 学习AngularJs:Directive指令用法(完整版)
- JSP与Servlet的介绍说明
- java实现的AES秘钥生成算法示例
- 图解JAVA中Spring Aop作用
- javascript HTML5 Canvas实现圆盘抽奖功能
- $.ajax json数据传递方法
- PHP连接MYSQL数据库实例代码
- js每隔5分钟执行一次ajax请求的实现方法
- Python文档生成工具pydoc使用介绍
- 浅谈python中截取字符函数strip,lstrip,rstrip
- ASP面向对象编程探讨及比较
- Asp限制IP访问 阻止某一个IP段禁止访问本站的代码
- HTML5实现留言和回复页面样式
- asp.net 在客户端显示服务器端任务处理进度条的探讨
- JS判断当前日期是否大于某个日期的实现代码
- 微信小程序 删除项目工程实现步骤
- c# 配置文件App.config操作类库的方法
- Spring Boot Redis 集成配置详解
- Python内建模块struct实例详解
- 简单实现Java通讯录系统
