在工作中有时候需要会几个人同时操作同一个文件夹,但是我们有不知道哪一个文件被修改过。
这可怎么办呢?
没事儿,这不是有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,然后就是有关字典的操作。
了解更多,欢迎关注公众号:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111427.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...