対応環境
- エディション:Windows 10 Pro
- バージョン:20H2
背景
Pythonで作業をしていると、フォルダ内に大量のファイルが存在して管理が難しくなることがあります。
今回、ファイル名の先頭に特定の文字列が含まれているかを検出して、
ファイルを自動で分類できる方法を学びました。
解決策:startswith()を使用する
ファイル名の先頭部分を判定するには、Python標準のstartswith()を使用します。
今回は、デスクトップ上の「data」フォルダに多数のファイルが格納されている状況を想定し、プログラムを作成しました。
サンプルプログラム
import os
os.chdir("C:/Users/mori/デスクトップ/data/")
files = os.listdir()
file_list = []
file_start = "MORI"
for read_file in files:
if read_file.startswith(file_start):
file_list.append(read_file)
プログラム解説
※空白行は省略しています。
1行目、osライブラリをインポートしています。
2行目、os.chdir()を使用して、対象となる「data」フォルダへパスを移動しています。
3行目、対象フォルダ内にあるファイル一覧を、filesという変数に格納しています。
4行目、空のリストfile_listを用意しています。このリストに条件に一致したファイルを追加していきます。
5行目、file_startという変数に「MORI」という文字列を代入しています。この文字列がファイル名の先頭にあるかを判定します。
6行目、for文で、files内のファイル名を一つずつread_fileに代入して繰り返し処理しています。
7行目、if文で、startswith()を使い、ファイル名の先頭がfile_startと一致するかを判定しています。
8行目、条件がTrueの場合、そのファイル名をfile_listに追加しています。
実行結果の確認方法
プログラムの最後に次のコードを追加することで、取得できたファイル名一覧を確認できます。
print(file_list)
また、5行目の"MORI"を他の文字列に変更すれば、任意のキーワードでファイルを分類できるようになります。
まとめ:ファイル整理を自動化しよう
Pythonのstartswith()を活用することで、
ファイル名の先頭に特定の文字列が含まれるファイルだけを簡単に分類・抽出することができます。
大量のファイル管理に悩んでいる方にとって、非常に有効なテクニックです。
ぜひ、ご自身の作業にも取り入れてみてください。
最後までご覧いただき、誠にありがとうございました。
