【Python】globモジュールで指定条件を満たすファイル・パスを取得

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']
"""

コメント