Pythonでglobモジュールを使う方法【初心者向け】

初心者向けにPythonでglobを使う方法について解説しています。これは引数で指定したパターンにマッチするパス名を取得するものです。最初にglobモジュールのインポート方法、次にパターンの書き方と実行結果の見かたをサンプルコードを書きながら覚えていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonでglobを使う方法について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

globの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

globとは

globモジュールでは、引数に指定されたパターンにマッチするファイルパス名を取得することが出来ます。

特定のディレクトリに存在するファイルに処理を加えたい場合などに、使用します。

マッチングさせるパターンの書き方は、Unixシェルで使用される書き方と同じです。

 

globの書き方

globモジュールを使うには、まずモジュールをインポートする必要があります。

import glob

globモジュールのglob()関数を用い、引数としてパターンを与えると実行されたディレクトリ内で、パターンにマッチするファイル名が返却されます。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

実際にフォルダからファイル一覧を取得してみよう

実際に表示して確認してみましょう。パソコンがMacの場合はターミナル、Windowsの場合はコマンドプロンプトから「Python」と入力し、Pythonの対話型インタプリタを起動します。
(以下の例ではPython2系を使用しています。)

 

まずglobモジュールをインポートします。

>>> import glob

例えば、現在のディレクトリに
t_1.log, t_2.log, abc.log, test101.lst
のファイルが存在したとすると、

>>> glob.glob('*.log')

の実行により、

['abc.log', 't_1.log', 't_2.log']

が返却されます。

>>> glob.glob(’t_*.log’)

を実行すると、

[t_1.log, t_2.log]

が返却されます。

 

もしディレクトリ内の全てのファイル名を出力したい場合は、

glob.glob(’*’)

の実行により、

['abc.log', 't_1.log', 't_2.log', 'test101.lst']

が返却されます。

 

取得されたファイル名に対して、それぞれに処理を加えたい場合は、
例えば、

for x in glob.glob('*.log'):
print x

とすれば、出力結果は、

>>> for x in glob.glob('*.log'):
... print x
...
abc.log
t_1.log
t_2.log

となり、個々のファイル名が出力されていることが分かります。

 

以下の例では、マッチングしたファイルを全て削除します。

for x in glob.glob(‘*.log'):
os.remove(x)
print x + “は削除されました。”

出力結果

abc.logは削除されました。
t_1.logは削除されました。
t_2.logは削除されました。

 

監修してくれたメンター

川井健滉(かわいたけあき)

フリーランスエンジニア(の卵)。Pythonでの開発力を売りに、
種々システムの設計から実装まで行う。

過去には、某大手サイトの開発 / 機械学習モデルの汎用性検証 / CBの作成等、幅広く経験、
直近ではWebスクレイピングシステムやデータを活用した機械制御モデルの構築に従事。

元々はカフェのオーナー。しかしコーヒーは飲めない。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。