0

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

4

2 に答える 2

1

これは完全な解決策ではありませんが、正しい方向を示す必要があります。

>>> import os
>>> import glob
>>> for filename in glob.glob('*'):
        print filename, os.stat(filename)

グロブリファレンス

通訳統計

つまり、これにより、globに一致するすべてのファイルのファイルサイズと作成タイムスタンプの両方が得られ、それらを抽出して必要に応じて並べ替えることができます。

于 2012-04-23T13:55:14.720 に答える
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 に答える