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

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

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

这可怎么办呢?

没事儿,这不是有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)
上一篇 2021年9月17日 下午7:00
下一篇 2021年9月17日 下午8:00


相关推荐

  • Gemini应用Nano Banana使用教程:从入门到精通的完整指南(含Prompt模板)

    Gemini应用Nano Banana使用教程:从入门到精通的完整指南(含Prompt模板)

    2026年3月15日
    1
  • 常见的MIME类型

    常见的MIME类型

    2021年9月20日
    83
  • java querystring_Request 对象之QueryString集合 | 学步园

    java querystring_Request 对象之QueryString集合 | 学步园QueryString 集合检索 HTTP 查询字符串中变量的值 HTTP 查询字符串由问号 后的值指定 几个不同的进程都可以生成查询字符串 如 anchor 标记 stringsample 生成值为 thisisasampl 的变量名字符串 通过发送表格或由用户在其浏览器的地址框中键入查询也可以生成查询字符串 语法 Request QueryString variable i

    2026年3月17日
    1
  • visual studio使用教程

    visual studio使用教程一 新建工程进入 VS 之后 点击左上角文件 gt 新建 gt 项目 也可以直接点击起始页面的新建项目 这是新建一个工程的操作 而我们要写代码就需要新建工程二 添加源文件视图 gt 解决资源管理器 接下来开始双击源文件 添加 gt 新建项 这里可以看到下图 我们可以对源文件名称进行重命名 比如以 test 为例 建立一个名为 test 的 C 语言代码 就要命名为 test c 如果命名为 test cpp 则为 C 程序 如果命名为 test h 则为头文件程序三 防止程序闪退点击本地 Windows 调试器 没

    2026年3月26日
    2
  • Android 对apk进行重签名和查看签名(window 和mac)及生成签名

    Android 对apk进行重签名和查看签名(window 和mac)及生成签名标题实际上说了二个问题:查看签名和重签名先说一个简单的查看签名:第一步:将apk解压第二步:找到META-INF下的.RSA文件第三步:在mac终端或者window控制器上输入命令:keytool-printcert-filexxx.RSA回车,即可查看签名文件.将.RSA文件拖入到-file后面,即可查看:如下图重新签名…

    2022年4月28日
    41
  • Linux pstack命令[通俗易懂]

    Linux pstack命令[通俗易懂]概要打印运行进程的栈信息(快照),包括一个进程下的所有线程的栈信息。语法pstackpid解释pstack是封装了gdb功能的shell脚本,通过”threadapplyallbt”的命令获得输出所有的线程堆栈信息,再用sed进行替换和过滤#RunGDB,stripoutunwantednoise.$GDB–quiet$readnever-nx/proc/$1/exe$1<<EOF2>&1|

    2025年11月16日
    4

发表回复

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

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