ホームページ  >  記事  >  バックエンド開発  >  ディレクトリ内のすべてのファイルを走査する Python メソッド

ディレクトリ内のすべてのファイルを走査する Python メソッド

WBOY
WBOYオリジナル
2016-07-22 08:56:251486ブラウズ

os.walkジェネレーター
os.walk(PATH)、PATH はフォルダーのパスです。もちろん、それを使用することもできます。
返されるのは 3 つの要素のリストで、各要素はフォルダーのコンテンツを表します。最初の要素は現在のフォルダーのコンテンツです。 返されたトリプルは (作業フォルダー、このフォルダーの下のフォルダーのリスト、このフォルダーの下のファイルのリスト) を表します。
それで、
すべてのサブフォルダーを取得します。つまり (d はこのトリプレットを表します):

リーリー
すべてのサブファイルを取得します:

リーリー
次の例では、2 セットのループを使用して、走査した後、すべてのファイル名のリストを取得し、すべてのファイルをループします。


リーリー

実際に等しい


リーリー

ファイル名を取得するために HTML サフィックスが使用されるかどうかを最終的に決定します。 glob: を使用することもできます。


リーリー

イテレータメソッドも使用できます:


リーリー

上級

標準のファイル番号トラバーサル ジェネレーター os.walk は強力で柔軟ですが、os.walk には、特定のパターンに従ってファイルを選択したり、すべてのファイル (またはディレクトリ) をソートしたり、単にトラバースしたりするなど、アプリケーションに必要な詳細な処理機能がまだ欠けています。サブディレクトリに入らずに現在のディレクトリに移動するため、インターフェイスをカプセル化する必要があります。
リーリー

説明: 1.拡張と追加の違い

リストはクラスとして実装されます。リストを「作成」すると、実際にはクラスがインスタンス化されます。したがって、リストは複数の方法で操作できます。リストには任意のデータ型の要素を含めることができ、単一のリスト内の要素がすべて同じ型である必要はありません。 append() メソッドは、リストの最後に新しい要素を追加します。 extend() メソッドはパラメータを 1 つだけ受け入れ、パラメータとしてリストのみを受け入れ、パラメータの各要素を元のリストに追加します。
2. fnmatchモジュール
fnmatch モジュールは、パターンを使用してファイル名を照合します。パターン構文は Unix シェルで使用される構文と同じです。アスタリスク (*) は 0 個以上の文字に一致し、疑問符 (?) は 1 つの文字に一致します。角括弧を使用して文字範囲を指定することもできます。たとえば、[0-9] は数値を表し、他のすべての文字はそれ自体と一致します。
1) fnmatch.fnmatch(name, pattern) メソッド: 名前がパターンと一致するかどうかをテストし、true/false を返します
2) fnmatch.filter(names, pat) はリスト内の特殊文字のフィルタリングを実装し、一致パターンに一致する文字のリストを返します。 もちろん、names はリストを表します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。