pythonパッケージ:globの使い方

1956 ワード

説明:
globはpython自身が持っているファイル操作関連モジュールで、Windowsの下のファイル検索のように、自分の目的に合ったファイルを検索することができます.ワイルドカード操作をサポートします.*、?[]この3つのワイルドカード、*は0文字以上を表します.[0-9]など、指定した範囲内の文字に一致する文字を表します.2つの主な方法は以下の通りである.
1.globメソッド:
globモジュールの主な方法はglobです.この方法では、一致するすべてのファイルパスのリストを返します.この方法では、一致するパス文字列(この文字列は絶対パスでも相対パスでも構いません)を指定するパラメータが必要です.返されるファイル名には、現在のディレクトリのファイル名のみが含まれ、サブフォルダのファイルは含まれません.
例:
glob.glob(r'c:\*.txt')
ここでCディスクの下にあるすべてのtxtファイルを取得します.
glob.glob(r'E:\pic\*\*.jpg')
指定したディレクトリのjpgファイルをすべて取得
相対パスの使用:
glob.glob(r'../*.py')
2、iglob方法:
反復器(iterator)オブジェクトを取得し、一致するファイルパス名を1つずつ取得できます.glob.glob()の違いはglob.globはすべてのマッチングパスを同時に取得し、glob.iglobは一度に1つのマッチングパスしか取得しません.次に、親ディレクトリの簡単な例を示します.pyファイル
f = glob.iglob(r'../*.py')
print(f)


for py in f:
    print(py)

fは反復器のオブジェクトであり、遍歴することで条件を満たすすべての*を出力することができる.pyファイル
公式の説明:
glob.glob(pathname)
Return a possibly-empty list of path names that match pathname, which must be a string containing a path specification. pathname can be either absolute (like /usr/src/Python-1.5/Makefile) or relative (like http://www.cnblogs.com/Tools/*/*.gif), and can contain shell-style wildcards. Broken symlinks are included in the results (as in the shell).

glob.iglob(pathname)
Return an iterator which yields the same values as glob() without actually storing them all simultaneously.

For example, consider a directory containing only the following files: 1.gif, 2.txt, andcard.gif. glob() will produce the following results. Notice how any leading components of the path are preserved.
>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']