環境
Windowsの仕様
エディション:Windows 10 Pro
バージョン:20H2
経緯
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_name.endswith(file_start): file_list.append(read_name)
プログラムの説明をします。空白の行数は省略しています。
1行目、osライブラリーをインポートしてます。
2行目、os.chdir()でパスを取得してます。「data」というフォルダがあるのでそこのパスです。
3行目、「files」という変数に2行目で取得したパスを代入してます。この中に大量のファイルが入っています。
4行目、「file_list」という空のリストを用意します。この空のリストにファイルを入れていくイメージです。
5行目、「file_start」という変数に”MORI”を代入します。
6行目、for文です。3行目で取得したパス(ファイル)を「read_file」に入れていくイメージです。
7行目、if文です。ここでstartswith()を使います。()内は5行目で代入した「file_start」が入ります。「file_start」の中身は”MORI”でしたね。なので、先頭の文字が「MORI」というファイルを取得していきます。
8行目、7行目のif文でTrueだった場合はfile_listにどんどん入れられてます。これでプログラムは終わりです。
こんな感じで分類できました。
この後の行にprint(file_list)と入力すると、ちゃんと入ってるかわかると思います。
また、5行目の”MORI”という所を変えると任意の文字を取得できますよ。
ここまで読んでいただきありがとうございました。