4

ディレクトリからファイルの再帰的なリストを作成し、年齢に基づいて並べ替えようとしています。ファイル拡張子についてはあまり気にしません。最も古いファイルが最初に表示されます。

ここに私がこれまでに持っているものがありますが、日付でソートされていません...

例: /home/user/folder/dir1 /home/user/folder/dir2 /home/user/folder/dir3

def returnold():
    for root, dirnames, filenames in os.walk(imagedir):
        for filename in fnmatch.filter(filenames, '*.jpg, *.png'):
            matches.append(os.path.join(root, filename))
    return sorted(matches, key=lambda p: os.path.getctime(os.path.join(user_dir, p)))

imagedir = /home/user/folder
filelist = returnold()

正直なところ、ここでの私の目標は、home/user/folder の下にあるすべてのファイルを、最も古いファイルから処理することです。最初に dir1/ のすべてのファイルを処理し、次に dir2/ を処理するのではなく、そのツリー構造のどこに存在するかに関係なく、最も古いファイルを最初に処理する必要があります。私の考えは、すべてのファイルを処理するために while list is not empty ループを書くことができるということでした。もっと良い方法があれば、私も学びたいです。ここに追加できるヘルプに感謝します。

4

1 に答える 1