Pythonでディレクトリ内のファイルをソートするためには、os.listdir()
関数を使用します。しかし、この関数はファイル名をアルファベット順ではなく、OSがファイルを読み込む順序でリスト化します。そのため、特定の順序(例えば、数字順や日付順)でファイルをソートしたい場合は、追加の手順が必要となります。
数字順でのソート
数字順(例えば、’n1′, ‘n2’, ‘n3’, …, ‘n10’)でファイルをソートするには、自然順ソートという方法があります。Pythonの標準ライブラリには自然順ソートを行う関数は存在しないため、natsort
というライブラリを使用します。
import os
from natsort import natsorted
files = os.listdir("./your_directory")
sorted_files = natsorted(files)
上記のコードでは、まずos.listdir()
でディレクトリ内のファイル名をリスト化し、その後natsorted()
関数で自然順ソートを行っています。
日付順でのソート
ファイルを日付順にソートするには、os.path.getmtime()
関数を使用します。この関数は、指定したファイルの最終更新時間をUNIXタイムスタンプとして返します。これをsort()
関数のkey
引数に指定することで、更新時間に基づいてファイルをソートできます。
import os
files = os.listdir("./your_directory")
files.sort(key=os.path.getmtime)
以上、Pythonでos.listdir()
を使ってファイルをソートする方法について説明しました。適切なソート方法を選択することで、ファイル操作をより効率的に行うことができます。