python
さっそくサンプルコードから:
files = os.listdir("./") files.sort(key=os.path.getmtime, reverse=False)
ポイントはsortの
key
引数の使用で、これが指定されているとsortはlistの要素そのものの代わりに
key([要素])
の大小比較に基づいて並び替えをしてくれる。
なおディレクトリ内のファイルでは少し工夫が要る。
listdir
は相対パスではなくファイル名しか
返してくれないので
files = os.listdir("./dir/") files = [os.path.join("./dir/", f) for f in files] files.sort(key=os.path.getmtime, reverse=False)のようにファイル名にディレクトリをくっつけてから処理する。
さらにos.pathパッケージには他のファイル属性を取得する関数もあるので、これらでもソートできる。
getatime
: 最後にアクセスした時刻getctime
: 作成時刻 (Windows, Linux), 最後にメタデータが変更された時刻 (Unix)getsize
: ファイルサイズ