globモジュールの概要

1440 ワード

公式サイトの説明に基づいて(https://docs.python.org/3.5/library/glob.html#module-glob)の紹介です.
概要:
globモジュールはUnixshellルールに基づいて、特定のフォーマットに一致するすべてのファイルとフォルダを見つけ、windowsのファイル検索機能とあまり差がありません.ファイルを検索するには、「*」、「?」の3つの一致文字しか使用されません.“[]”.「*」は0文字以上の文字に一致します."?"1つの文字に一致します.「[]」は指定範囲内の文字に一致する.globモジュールは、サブshellを呼び出して検索機能を実現するのではなく、内部でosを呼び出す.Listdir()とfnmatch.fnmatch().
適用:
globモジュールには、3つの関数が含まれています.
1:glob.glob(pathname,*,recursive=False)の最初のパラメータpathnameは、一致する文字列です.(このパラメータは、不要なエラーが発生しないように、できるだけr接頭辞を付けなければならない)
絶対パスも相対パスも使用できます.2番目のパラメータは再帰呼び出しを表し、特殊なワイルドカード「*」とともに使用され、デフォルトはFalseです.
glob.glob(pathname)のデフォルトは、条件を満たすパスの文字列リストを返します.
glob.glob(pathname,**,recursive=True)のバージョン3.5以降、glob関数は、指定したパス内のすべてのファイルとディレクトリ、サブディレクトリ内のすべてのファイルとディレクトリを一致させる特殊なワイルドカード「**」をサポートします.この関数を再帰的に呼び出すことに相当します.このワイルドカードを使用するには、recursive=Trueパラメータを追加する必要があります.(複雑なディレクトリ構造の場合、このワイルドカードを使用するとパフォーマンスが低下し、プログラム全体の実行を遅らせる可能性がありますので、慎重に使用してください!)
2:glob.iglob(pathname,recursive=False)パラメータはglob()と一致する.一致するすべてのパスを同時に保存しない反復器を返します.反復器の結果は、同じパラメータを使用してglob()を呼び出す戻り結果と一致します.
3:glob.escape(pathname)3.4バージョンで新しく追加され、escapeはすべてのワイルドカードを無視します.特殊文字の可能性のある任意の文字列を一致させるために使用できます.
例:
import glob
glob.glob(“./*gif”)
glob.glob(“./[0-9]*.txt”)
glob.glob(“?.gif”)
glob.glob(“**/*.txt”,recursive=True)
glob.glob(r'/home/sun/ptest/*.py')


import glob
list1 =glob.glob(“./*gif”)
if len(list1) >0:   #        。