'23/02/28更新:使い勝手を考慮して関数にしました。引数をファイルパスリストにして、戻り値はソートされたファイルパスリストで返します。
本記事では、下図のようにファイル名の番号順にソートする雛形コードを載せました。OS上では、ファイル名は文字列であるために下図左のような並びになり、aaa_1, aaa_2, aaa_3,…とはならずに、aaa_1, aaa_10, aaa_2, aaa_20になってしまいます。これを下図右のような番号順に並び替えるためには、一旦、番号部分を抽出してソートすることで対応できます。
ソート前のファイル順 | ソート後のファイル順 |
aaa_1.txt | aaa_1.txt |
aaa_10.txt | aaa_2.txt |
aaa_2.txt | aaa_3.txt |
aaa_20.txt | aaa_10.txt |
aaa_21.txt | aaa_20.txt |
aaa_3.txt | aaa_21.txt |
下図のようにファイルパスを含めた並び替えをします。
■本プログラム
●参考
ExcelVBAで同様のことをする雛形コードは次のリンク先です。
VBA フォルダパスをダイアログから取得する。更にそのフォルダ内のファイル名をソートして取得する - PythonとVBAで世の中を便利にする 本記事のPythonコードと比較すると、明らかにPythonが短いコードで書けて簡単簡潔であることがわかります。
以上
<広告>
リンク
リンク
リンク