ディレクトリ内の最も古いファイル、最大サイズのファイル、および古いサイズと最大サイズの両方を表示できるダッシュボードを作成しようとしています。ルートディレクトリの下にある、最も古く、最大サイズのすべての可能なディレクトリでファイルを再帰的に見つけることができるPythonスクリプトが必要です。Pythonを介してこれを行うことは可能ですか、それともこのためのシェルスクリプト/ 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 に答える