Pythonを用いて、globモジュールで指定条件を満たすファイル・パスを取得する方法について紹介します。
【テキストファイル】読み込み、書き込み
Pythonモジュール「glob」では、ワイルドカードを使って、指定した条件を満たすファイル名やパスを取得できます。
■指定した拡張子のファイル名を取得(相対パスなし)
# -*- coding: utf-8 -*- import glob, os path = 'sample/*.py' # sampleフォルダ内にあって拡張子がpyのファイル名を取得 file_list = glob.glob(path, recursive=True) # ファイル名だけを抽出 file_list = [os.path.basename(r) for r in file_list] print(file_list) # ['file1.py']
【Python】指定した拡張子のファイルを一覧で取得
Pythonで指定した拡張子のファイルを一覧で取得する方法について入門者向けにまとめました。
■パス内の全てのファイル・フォルダ名を取得(相対パスあり)
# -*- coding: utf-8 -*- import glob path = 'sample/*' # パス内の全てのファイル・フォルダ名を取得 file_list = glob.glob(path) print(file_list) # ['sample\\dir1', 'sample\\dir2', 'sample\\file1.py', 'sample\\file2.jpg', 'sample\\file3.xlsx']
【Python】ファイル名・フォルダ名を一覧で取得
Pythonで「ファイル名」「フォルダ名(ディレクトリ名)」を一覧で取得する方法について入門者向けにまとめました。
■パス内の全てのファイル・フォルダ名を取得(相対パスなし)
# -*- coding: utf-8 -*- import glob, os path = 'sample/*' # パス内の全てのファイル・フォルダ名を取得 file_list = glob.glob(path) # ファイル名だけを抽出 file_list = [os.path.basename(r) for r in file_list] print(file_list) # ['dir1', 'dir2', 'file1.py', 'file2.jpg', 'file3.xlsx']
【ワイルドカード】指定した条件で検索
import re import glob file_list = glob.glob('data/*.csv') print(file_list) """ ['data/0.csv', 'data/1.csv', 'data/123.csv'] """
コメント