LoginSignup
0
0

More than 1 year has passed since last update.

[python] 存在するファイルを探す方法 -glob-

Posted at

はじめに

業務の自動化を進めるにあたってglobを使用してファイルのパスを得る方法をまとめる。

環境

python 3.7.8
window 10

Code

特定のパスに属するファイル

文字の長さに関係なく、文字を含む場合は*をつける

import glob

## listとして結果を得る
file_list =glob.glob(r'C:\Users\junsa\Desktop\paison\*.py')
print(file_list)
# ['C:\\Users\\junsa\\Desktop\\paison\\labo.py', 'C:\\Users\\junsa\\Desktop\\paison\\9abo.py']

## 下位フォルダも含めたファイルを探す
file_list =glob.glob(r'C:\Users\junsa\Desktop\paison\**\*.py', recursive=True)
print(file_list)
# ['C:\\Users\\junsa\\Desktop\\paison\\labo.py', 'C:\\Users\\junsa\\Desktop\\paison\\9abo.py', 'C:\\Users\\junsa\\Desktop\\paison\\paison2\\labo1234.py']

特定の一文字を含むファイル: []

[]で囲む一文列の中の一文字を含むファイルを探す。
[0-9]なら0から9までの数字のそれか一文字、[a-z]ならaからzまでの一文字を含むファイルを探す。

import glob

file_list =glob.glob(r'C:\Users\junsa\Desktop\paison\[a-z]abo.py')
print(file_list)
# ['C:\\Users\\junsa\\Desktop\\paison\\labo.py']

file_list =glob.glob(r'C:\Users\junsa\Desktop\paison\[0-9]abo.py')
print(file_list)
# ['C:\\Users\\junsa\\Desktop\\paison\\9abo.py']

任意の一文字を含むファイル: ?

?は任意の一文字として扱われる。
ファイル名が3文字のファイルをすべて探したい場合:???.*
ファイル名の頭にtを含む3文字のテキストファイルを探したい場合:t??.txt

import glob

file_list =glob.glob(r'C:\Users\junsa\Desktop\paison\????.py')
print(file_list)
# ['C:\\Users\\junsa\\Desktop\\paison\\9abo.py', 'C:\\Users\\junsa\\Desktop\\paison\\labo.py']

file_list =glob.glob(r'C:\Users\junsa\Desktop\paison\l???.py')
print(file_list)
# ['C:\\Users\\junsa\\Desktop\\paison\\labo.py']

まとめ

osも一緒に使用することによってほとんどのファイル処理はできると思う。

[python] ファイルの場所(パス)を得る方法
python 公式Document -glob-

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0