ファイルを取得して更新日順にソートするPythonプログラム

この記事では、Pythonを使って特定のフォルダ内のファイルを取得し、それらのファイルを更新日順にソートする方法を解説します。

スポンサーリンク

プログラムの概要

このプログラムは、指定されたフォルダ内にある.png.jpg形式の画像ファイルのリストを取得し、各ファイルの更新日時(作成日時)を取得します。その後、ファイルの更新日時を基準に降順でリストをソートして、結果を見やすく表示します。

スポンサーリンク

プログラムの解説

以下がこのプログラムの主要な部分です。

import os, pprint, time
from datetime import datetime
from operator import itemgetter

def epoch_to_datetime(epoch):
    return datetime(*time.localtime(epoch)[:6])

filelists = []

for file in os.listdir():
    base, ext = os.path.splitext(file)
    if ext == '.png' or ext == '.jpg':
        filedate = os.path.getctime(file)
        filedate = epoch_to_datetime(filedate)
        filelists.append([file, filedate])

filelists.sort(key=itemgetter(1), reverse=True)
pprint.pprint(filelists)

このプログラムは、os.listdir() を使用してカレントディレクトリ内のすべてのファイルとディレクトリのリストを取得します。その後、各ファイルの拡張子が .png または .jpg の場合には、ファイルの更新日時を取得し、epoch_to_datetime() 関数を使用して通常の日付と時刻の形式である datetime オブジェクトに変換します。その結果、filelists リストにファイル名と更新日時のペアが格納されます。

最後に、filelists リストを sort() メソッドを用いて更新日時を基準に降順でソートし、結果を見やすく pprint.pprint() 関数を使用して表示します。

このプログラムを実行することで、指定されたフォルダ内の.png.jpg画像ファイルが更新日順に表示されます。ソートされたリストを基に、必要に応じてファイルの削除などの処理を追加することができます。

コメント

タイトルとURLをコピーしました