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

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

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

这可怎么办呢?

没事儿,这不是有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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux安装pycharm后找不到了_ubuntu pycharm安装

    linux安装pycharm后找不到了_ubuntu pycharm安装pycharm安装到linux(ubuntu、linuxmint)先说本人使用的工作环境win10家庭版使用vmware和vbox两款虚拟机,ubuntu16.04linuxmint一样的废话少说。开启安装模式1.安装vmware和vbox虚拟机(激活成功教程版vmware自己找一下,网上有的时)2.在虚拟机中安装好系统软件

    2022年10月19日
  • javascript飞机大战游戏_javascript游戏开发

    javascript飞机大战游戏_javascript游戏开发系列目录1.JavaScript贪吃蛇游戏2.JavaScript俄罗斯方块3.JavaScript扫雷小游戏4.JavaScript网红太空人表盘引言:之前我有用Java写过一个飞机大战,感觉挺受欢迎的,有的小伙伴想用Javasript写,我这次就按我的思路写了一个版本。实现思路分2张画布来实现,画布1仅仅用来绘制背景图,画布2用来绘制游戏相关的动态内容。创建我方飞机定时创建敌机开启主线程,用来刷新画布2.代码实现编写页面<!DOCTYPEhtml&

    2022年8月12日
  • spring的事件监听应用场景_java监听器的原理与实现

    spring的事件监听应用场景_java监听器的原理与实现前言Spring从3.x开始支持事件机制。在Spring的事件机制中,我们可以令一个事件类继承ApplicationEvent类,然后将实现了ApplicationListener

    2022年8月17日
  • Linux查看MySQL版本的四种方法

    Linux查看MySQL版本的四种方法1在终端下执行mysql-V2在help中查找mysql–help|grepDistrib3在mysql里查看selectversion()4在mysql里查看status欢迎补充~转自:https://www.linuxidc.com/Linux/2016-10/136075.htm…

    2022年10月27日
  • 如果你也23岁

    分享一下这篇文章:23岁那年你正处在哪个状态?现在呢? 我,23岁,应届毕业生。生活,工作,爱情都处于人生的低谷,一穷二白,一无所有,一事无成。分享一下成长的建议吧。匿名用户23岁那年…就是去年…… 在22岁的时候我毕业,同时第二年准备考研,结果因为压力太大,期望太高,又失利了,但是我依然满怀信心和憧憬 在我23岁那年四月,当我深爱的女孩(在这之

    2022年4月7日
  • SplitContainer的使用

    SplitContainer的使用作用:(Splitter的简化)使用 SplitContainer 控件可分隔容器(如 Form)的显示区域,并使用户可以调整已添加到 SplitContainer 面板中的控件的大小。当用户将鼠标指针移到拆分器上时,光标将发生变化,以指示可以调整 SplitContainer 控件内部的控件的大小。SplitContainer 也使设计时的控件放置更容易。例如,若要创建一个与Win

    2022年7月18日

发表回复

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

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