Python逆引き:フォルダを選択して中身をすべて取得したい

備忘録ヘッダ画像 逆引きソースコード

tkinterモジュールでフォルダ選択し、その中に存在するファイル・フォルダをすべて表示する例

コード

import os
import tkinter
import tkinter.filedialog as tkdialog

# フォルダ選択ダイアログを表示
tk  = tkinter.Tk()
folder=tkdialog.askdirectory()
tk.withdraw()

# 選択したフォルダの中身を再帰的にすべて取得する
for root, dirs, files in os.walk(folder):
        for name in files + dirs:
            # 任意の処理をする
            print(os.path.join(root, name))

活用方法

フォルダを選択するときは、だいたいその中に存在する特定の拡張子だったりある文字列を含んだファイルだけのリストが欲しくなったりする。以下のような感じで特定の文字列が含んでいるかチェックしてリストにまとめておくといい。

# 特定の拡張子を含むファイルリストが欲しいなら
csv_list = []

for root, dirs, files in os.walk(folder):
        for name in files + dirs:
            print(os.path.join(root, name))
            if ".csv" in name:
                  csv_list.append(os.path.join(root, name))
タイトルとURLをコピーしました