基于我发现的其他答案,我已经做出了相当努力的尝试,但没有找到可靠的解决方案(我的解决方案非常缓慢,但也许没有其他方法)。基本上,我有一个名为“scratch”的文件夹,用户可以在其中创建自己的文件夹来存储数据。
我需要我的脚本找出哪些用户的文件夹已经超过30天没有使用了。我想我可以通过在用户文件夹中查找修改时间最近的目录(通过递归搜索)然后过滤掉旧的目录来实现这一点。
代码以获取用户目录列表:
我需要我的脚本找出哪些用户的文件夹已经超过30天没有使用了。我想我可以通过在用户文件夹中查找修改时间最近的目录(通过递归搜索)然后过滤掉旧的目录来实现这一点。
代码以获取用户目录列表:
dirlist = list()
for filename in os.listdir("\\\\abg-netapp1\\Scratch\\"):
dirlist.append(filename)
然后我可以遍历'dirlist'的每个索引,创建要搜索的完整路径:
x=0
for item in dirlist:
max_mtime = 0
for dirname,subdirs,files in os.walk("\\\\abg-netapp1\\Scratch\\" + dirlist[x]):
for fname in subdirs:
full_path = os.path.join(dirname, fname)
mtime = os.stat(full_path).st_mtime
if mtime > max_mtime:
max_mtime = mtime
max_dir = dirname
max_file = fname
print max_dir, max_file, time.strftime('%Y-%m-%d', time.localtime(max_mtime))
x+=1
我知道我还没有过滤掉30天前的目录,只是想看看是否有什么可以改变这段代码的方法。
我这样做错了吗?有更简单的解决方案吗?如果有任何问题,请告诉我,谢谢!
get_files
应该是list_user_files
。 - Jon Clementslist(list_user_files(join(ROOT, userdir))
看看有什么... - Jon Clements