このチュートリアルは Python glob モジュールの glob() メソッドの概要を提供します。
通常、プログラマは、ある場所でファイルのリストをトラバースする必要があり、ほとんどの場合、特定のパターンを持っています。 Python の glob モジュールは、指定されたフォルダー下のファイルをリストするのに役立ついくつかの関数を持っています。 拡張子に基づいて、またはファイル名の一部として特定の文字列でそれらをフィルタリングすることができます。
Glob モジュールのすべてのメソッドは、Unix スタイルのパターンマッチ機構とルールに従います。
Python Glob() Methods
今日は、Glob モジュールの 3 つの主要な関数について説明します。
glob(file_pattern, recursive = False)
これは file_pattern パラメータで指定したパターンに一致するファイルの一覧を取得するものです。 また、”*” や “?” などのワイルドカードを含めることもできます。
recursive パラメータは、デフォルトではオフ (False) になっています。
それでは、いくつかの例を見てみましょう。
カレントディレクトリにあるPythonスクリプトファイルをチェックする
以下のコードは、カレントディレクトリにある .py ファイルのみをチェックします。
>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.py
別のサンプルコード – これは、現在のディレクトリとサブディレクトリ内の.pyファイルをチェックします。
>>> import glob>>> for py in glob.glob("*.py"):... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pytest_num.pytest_python_in_with_if.pytest_scope.py
パターンでファイルをリストアップ
我々は、?や数値範囲などのいくつかのワイルドカードを含むことによってパス名のパターンを指定することができます。
>>> for py in glob.glob("test.py"):... print(py)...test1.pytest2.py
もう一つ、パターンにクエスチョンマークを使用した例を確認しましょう。
次の文は、現在の作業ディレクトリのフォルダ名を再帰的に表示します。
>>> glob.glob('selenium/**/', recursive=True)
iglob() method | Python Glob
このメソッドは、与えられたディレクトリ以下のファイルをリストするために使用できる Python 発電オブジェクトを作成します。
以下のサンプルコードをご覧ください:
>>> gen = glob.iglob("*.py")>>> type(gen)<class 'generator'>>>> for py in gen:... print(py)...copy_file1.pycopy_file2.pydecimal_sample.pyfind_seed.pyfrozen_set.py
escape() method
これは、与えられた文字列をエスケープすることができるようにします。
Must check out – Python to list all files in a directory
以下のサンプルを見てください。