この記事では、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
画像ファイルが更新日順に表示されます。ソートされたリストを基に、必要に応じてファイルの削除などの処理を追加することができます。
コメント