检查文件是否有更新,监控文件状态

检查文件是否有更新,监控文件状态

在工作中有时候需要会几个人同时操作同一个文件夹,但是我们有不知道哪一个文件被修改过。

这可怎么办呢?

没事儿,这不是有python吗?这可是一门万能语言,除了不会生孩子,什么都会。

那要怎么监控呢?直接上代码吧!

导入模块os,time模块

 

import os,time
dict,zdian={},{}
path="E:\\"#文件路径
def file_state(dict,path):#传入字典参数,传入需要检查的文件路径
    file=os.listdir(path)
    for path1 in file:#获取文件目录
        file_path= path +path1
        if os.path.isfile(file_path)==True:#判断是否是文件
            dict[file_path]=os.path.getmtime(file_path)
        if os.path.isfile(file_path) == False:
            file_path2 = file_path + "\"
            file_state(dict,file_path2)#递归
    return
file_state(zdian,path)
while True:
    time.sleep(3)
    file_state(dict,path)
    for i in dict:
        try:
            if dict[i]==zdian[i]:
                pass
            if dict[i] != zdian[i]:
                print(i + "有更新")
                zdian[i] = os.path.getmtime(i)
        except:
            print(i + "有更新")
            zdian[i]=os.path.getmtime(i)

 

以上就是相关的代码,编程要的是一种方法,一种思维方式,而不是代码本身,下面是我的主要思路。

1,想要判断文件是否有更新,主要检查的是文件的修改时间,修改时间变了,那说明文件有被人动过。

2,竟然知道靠什么判断了,那怎么获取?

3,时间能获取到了,那文件呢?文件里面还有文件。

4,我们发现获取文件,以及获取文件对应的修改时间,是具有相同操作性质的,那我们可重复检查文件,直到没有为止。

5,时间,文件都获取到了,怎么判断更新。

6,我们知道字典可以将文件和时间对应起来,文件是没有变动的,那就是它了,以字典的方式储存。

7,然后就是有关字典的操作。

 

了解更多,欢迎关注公众号:

检查文件是否有更新,监控文件状态

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111427.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ElasticSearch集群搭建图文解析

    ElasticSearch集群搭建图文解析/前言/      ElasticSearch作为一个分布式搜索引擎有着广泛的应用场景,而搜索服务在在一个项目中的权重还是比较高的,所以我们要想办法去提高搜索服务的可用性,这就是ElasticSearch集群的作用,为搜索服务提供高可用的特性       何为高可用呢,其实就是字面意思,假设我们的搜索服务可以一直不停的提供服务,那么高可用性就是100%,

    2022年10月13日
    3
  • 经典vbs代码收集「建议收藏」

    经典vbs代码收集「建议收藏」经典vbs代码收集2011年01月17日  经典的vbs代码,收集起来也为了以后学习。  VBS脚本用途很多:  1.计算  2.处理文件和文件夹  3.管理Windows  4.处理Word,Excel,PowerPoint等Office文档  5.嵌入网页,驱动dHTML  6.编写HTTP通信  7.调用系统功能…

    2022年5月18日
    60
  • Linux查看进程占用端口号_windows查看进程占用端口

    Linux查看进程占用端口号_windows查看进程占用端口查看linux端口被哪个进程占用的方法:首先查看被占用的端口的进程,并查询进程id;然后根据集成id查询进程,并查看进程详情信息;最后查看进行所在目录,操作进程即可。本教程操作环境:redhatenterpriselinux6.1、DELLG3电脑。查看linux端口被哪个进程占用的方法:1、查询被占用的端口。首先是需要输入命令,查看被占用的端口的进程,netstat-tunpl|g…

    2022年7月27日
    2
  • yui java 右键_给YUI Compressor添加右键命令,完成快捷压缩[通俗易懂]

    yui java 右键_给YUI Compressor添加右键命令,完成快捷压缩[通俗易懂]YUICompressor默认不带右键安装功能YUICompressor非常好用,特别是JS的混淆是众多JSCoding的最爱。可惜官网提供的版本都不具备右键功能,每次压缩都要cmd输入一些命令实在是繁琐,本文就介绍如何给YUICompressor添加右键命令,方便使用。网上已有一些网友写好的安装包,但对应的版本太低,目前最新最多人使用的还是2.4.7版本,而这一版本的带右键功能目前没有在…

    2022年7月18日
    13
  • Hadoop集群搭建教程(详细)「建议收藏」

    Hadoop集群搭建教程(详细)「建议收藏」需要的安装包:  1.jdk压缩包  2.hadoop压缩包请前往我的github上下载相关安装包开始搭建hadoop集群一.使用VMvare创建两个虚拟机,我使用的是ubuntu16.04版本的因为默认的虚拟机主机名都是ubuntu,所以为了便于虚拟机的识别,创建完成虚拟机后我们对虚拟机名进行修改,我们把用于主节点的虚拟机名称设为master(按自己的喜好创建),把用于从节点的虚拟机名称…

    2025年8月5日
    3
  • 元素守恒计算方法_leetcode免费吗

    元素守恒计算方法_leetcode免费吗给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入:nums = [5,2,6,1]输出:[2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1)2 的右侧仅有 1 个更小的元素 (1)6 的右侧有 1 个更小的元素 (1)1 的右侧有 0 个更小的元素提示:0 <= nums.length <= 10^5-10^4

    2022年8月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号