我正在尝试创建一个仪表板,它可以显示目录中最旧的文件、最大大小的文件以及旧的和最大大小的文件。我需要一个 python 脚本,它可以递归地在我的根目录下所有可能的目录中查找文件,这些目录最旧并且具有最大大小。是否可以通过 python 执行此操作,或者您需要为此编写一个 shell 脚本/awk?
问问题
182 次
2 回答
1
要递归检查目录,请使用os.walk()
.
用于os.path.getsize()
获取文件的大小,os.path.getmtime()
以获取其修改时间。
import os
from os.path import join, getsize, getmtime
oldest_file, oldest_file_mtime = None, 9999999999
largest_file, largest_file_size = None, 0
for root, dirs, files in os.walk('/your/root'):
for name in files:
a_file = join(root, name)
if getmtime(a_file) < oldest_file_mtime:
oldest_file_mtime = getmtime(a_file)
oldest_file = a_file
if getsize(a_file) > largest_file_size:
largest_file_size = getsize(a_file)
largest_file = a_file
print "oldest file is: ", oldest_file
print "largest file is: ", largest_file
于 2012-04-23T14:05:11.600 回答