Pythonの「walk」の使い方について。
この記事の内容はコチラです
- Pythonでサブフォルダーを取得する
- サブフォルダ内のファイルをすべて取得する
- walkの使い方を知る
今回は、Pythonでフォルダー内のサブフォルダー・ファイルする「walk」の使い方を解説します。
フォルダー内のサブフォルダー・ファイルを取得する walk
Pythonの「walk」でフォルダー内のサブフォルダー・ファイルすることができます。
例えば、Cドライブ直下のフォルダーとファイルをすべて取得することができます。
walk構文
import os os.walk(取得したいフォルダのパス) #戻り値:フォルダパス、フォルダ内のサブフォルダー名リスト、フォルダ内のファイル名リスト
まず最初にpython標準のosモジュールを使用するため「import os」を事前に記述します。
「os.walk」で任意のフォルダの中身を取得します。
「戻り値」は3つのパラメータです。「フォルダパス」と「フォルダ内のサブフォルダ名」と「フォルダ内のファイル名」がリストで取得されます。
例1. フォルダ内のサブフォルダーをすべて取得する
import os for fd_path, sb_folder, sb_file in os.walk('c:\\pg'): for fol in sb_folder: print(fd_path + '\\' + fol) #[結果] 'c:\pg\python' #[結果] 'c:\pg\java' #[結果] 'c:\pg\python\test'
Pythonの「os.walk」で「c:\pg」内のフォルダ・ファイルを取得しました。
「c:\pg」の中身を「for in」を使って3つの変数に入れてフォルダーを取得し、さらに「for in」でフォルダを1つずつ取得しました。
「os.walk」では、サブフォルダーの中のサブフォルダーも含めてすべて取得します。
パスの記述ですが、「\」をエスケープする必要があるため、「\」であれば「\\」と書きます。よって「c:\pg」の場合は「c:\\pg」と書きます。
例2.フォルダ内のファイルをすべて取得する
import os for fd_path, sb_folder, sb_file in os.walk('c:\\pg'): for fil in sb_file: print(fd_path + '\\' + fil) #[結果] 'c:\pg\file1.txt' #[結果] 'c:\pg\file2.txt' #[結果] 'c:\pg\python\python.txt' #[結果] 'c:\pg\java\java.txt' #[結果] 'c:\pg\python\test\test1.txt'
ここではフォルダ「c:\pg」内のすべてのファイルを取得しました。
「os.walk」は「c:\pg」直下にあるファイルだけでなく、配下にあるすべてのファイルを取得しました。サブフォルダーの中のファイルも含めてすべて取得します。
これで「os.walk」で指定したフォルダー内のサブフォルダー・ファイルをすべて取得するすることができました。
以上、Pythonの「walk」でフォルダー内のサブフォルダー・ファイルを取得する方法でした。
コメント