\

Pythonでは、ワイルドカードを活用してファイルリストを取得することができます。ワイルドカードとは、文字列の指定や探索の際に、全ての文字、任意の1文字、文字列の範囲を指定する記号や記述方の事を指します。ワイルドカードには*?-があります。

ワイルドカードとは

ワイルドカードとは、文字列の指定や探索の際に、任意の1文字か任意の長さを指定することで、文字列の集合体を表現します。正規表現と似ていますが、ワイルドカードでは、任意の文字列や任意の数値のような範囲をざっくりと表現します。ワイルドカードには、「*」や「?」や「-」が存在します。

ワイルドカードの使い方

代表的なワイルドカードの役割と使い方について紹介します。

  • *(アスタリスク): 任意の文字列を指定できます。例えば、* のみで条件指定をした場合はすべての文字列が対象です。abc*と条件指定した場合は、abcから始まる文字列が対象になります。また、*abc*と条件指定することで、abcが含まれる文字列が対象になります。
  • ?: 任意の1文字を指定できます。例えば、?のみを条件で指定した場合は、1文字のみで構成される文字列が対象になります。abc???と条件指定した場合は、abcdefabc123のように、abcと3文字の文字列で構成される文字列が対象になります。
  • [-]: [-]の範囲内に含まれる文字列を指定できます。例えば[0-9]と条件を指定して使用すると、0から9までの任意の数字1文字が対象になります。[a-zA-Z]と条件を指定すると、任意の半角英字1文字が対象になります。

Pythonでワイルドカードを活用する方法

Pythonでは、globモジュールを使用することで、ワイルドカードを活用してファイルリストを取得できます。次のような文法で、globモジュールを使ってファイルリストを取得できます。

import glob
glob.glob('ファイルパス')

また、’ファイルパス’をワイルドカードを使用したファイル名にすることで、現在のフォルダ内に存在する、条件にマッチしたファイル名をリスト型で取得できます。

実際に使ってみよう

それでは、Pythonでワイルドカードを活用してファイルリストを取得する方法について、サンプルコードを参考に実際のファイルリストを取得してみましょう。

import glob
print('全てのファイルを取得')
print(glob.glob('*'))
print('\"e\"+任意の文字列から始まるファイル名を取得')
print(glob.glob('e*'))
print('\"M\"+任意の7文字から始まるファイル名を取得')
print(glob.glob('r???????'))
print('\"m\"+任意の半角英字3文字から始まるファイル名を取得')
print(glob.glob('m[a-zA-Z][a-zA-Z][a-zA-Z].tar.gz'))

以上がPythonでワイルドカードを活用する方法についての説明です。この知識を活用して、Pythonでのファイル操作をより効率的に行ってみてください。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です