Pythonのglob
モジュールを使用してファイルを読み込む際、ファイル名の順番がバラバラになることがあります。この問題を解決するために、sort
やnatsort
といった関数を使用して、ファイルを自然な順序で並べる方法を紹介します。
まず、glob
でファイルリストを取得します。
import glob
filepath = 'data/'
filelist = glob.glob(filepath + '*.wav')
しかし、このままではファイルの順番がバラバラになってしまいます。
そこで、natsort
ライブラリを使用します。natsort
は、ファイル名を自然な順序で並べるためのライブラリです。
from natsort import natsorted
new_filelist = natsorted(filelist)
これで、ファイルが自然な順序で並びます。
また、sort
関数を使用してもファイルを並べることができますが、sort
関数では辞書順に並び替えられます。
new_filelist = sorted(filelist)
しかし、sort
関数を使用すると、2桁以上の数字が入ってきたときに並び順が自然でなくなってしまいます。そのため、natsort
ライブラリを使用することをお勧めします。
以上が、Pythonでglob
とsort
を使ってファイルを自然な順序で並べる方法です。この方法を使用すれば、ファイルの読み込み順を自由に制御することができます。