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()を使ってファイルをソートする方法について説明しました。適切なソート方法を選択することで、ファイル操作をより効率的に行うことができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です