ディレクトリpython内のファイルを反復処理する方法
How Iterate Over Files Directory Python
解決:
このチュートリアルでは、特定のディレクトリ内のファイルを反復処理し、Pythonを使用してそれらに対していくつかのアクションを実行するいくつかの方法を示します。
1.使用するos.listdir() #
このメソッドは、pathで指定されたディレクトリ内のエントリの名前を含むリストを返します。リストは任意の順序であり、特別なエントリ「。」は含まれていません。および「..」は、ディレクトリに存在する場合でも同様です。
例 :ファイルへのすべてのパスを出力しますjpgまたは
png拡張子
C: Users adminディレクトリ
2.使用するos.scandir() #
Python 3.5以降、処理がはるかに簡単になりましたos.scandir()。この例は上記と同じことをしますが、
代わりにos.scandir()
os.listdir()
輸入ディレクトリ= r'C: Users admin ' にとってエントリのあなた。スキャン((ディレクトリ)。: もしも ((エントリ。道。で終わる(('.jpg')。 またエントリ。道。で終わる(('.png')。)。 とエントリ。is_file(()。: 印刷((エントリ。道)。
両方os.listdir()および
os.scandirアプローチでは、ディレクトリまたはディレクトリのすぐ下のファイルのみが一覧表示されます。特定のディレクトリ内のファイルとフォルダを再帰的に一覧表示する場合は、以下の方法の使用を検討してください。
3.使用するos.walk() #
このメソッドは、サブディレクトリ内のすべての子孫ファイルを反復処理します。上記の例を考えてみましょう。ただし、この場合、このメソッドはすべての画像を再帰的に印刷します。C: Users adminディレクトリ。
4.使用するglobモジュール #
globモジュールは、Unixシェルで使用されるルールに従って、指定されたパターンに一致するすべてのパス名を検索しますが、結果は任意の順序で返されます。
すべてをリストする例を考えてみましょうpngと
のPDFファイル
C: Users adminディレクトリ
デフォルトでは、glob.iglobは、指定されたディレクトリのすぐ下にあるファイルのみを一覧表示します。ネストされたフォルダ内のすべてのファイルを再帰的に一覧表示するには、
再帰パラメータ
NS
あなたはどちらかを使うことができますglob.iglobまたは
glob.glob。違いは、
glob.iglobは、パス名パターンに一致するパスを生成するイテレータを返します。
glob.globはリストを返します。
5.を使用して再帰的に反復しますからのパスクラスpathlibモジュール #
pathlibモジュール #
以下のコードは、上記の例と同じです。この例では、png画像をフォルダーに一覧表示して印刷しますが、pathlib.Path