メインコンテンツまでスキップ

Pythonで拡張子でファイルをフィルタリングする方法

Pythonで拡張子でファイルをフィルタリングする方法

Pythonでファイルを拡張子でフィルタリングする方法について、ステップバイステップのチュートリアルをご紹介します:

ステップ1: osモジュールをインポートする

ファイルやディレクトリを扱うために、組み込みのosモジュールをインポートする必要があります。このモジュールは、オペレーティングシステムとのやり取りに使用するさまざまな関数を提供します。

import os

ステップ2: ディレクトリのパスを指定する

フィルタリングしたいファイルがあるディレクトリのパスを指定します。絶対パスまたは相対パスのいずれかを指定できます。

directory_path = '/path/to/directory'

ステップ3: ディレクトリ内のすべてのファイルをリストする

os.listdir()関数を使用して、指定したディレクトリに存在するすべてのファイルとディレクトリのリストを取得します。

files = os.listdir(directory_path)

ステップ4: 拡張子でファイルをフィルタリングする

ファイルのリストを反復処理し、os.path.splitext()関数を使用してファイル名と拡張子を分割します。if文を使用して、拡張子を所望の拡張子と比較します。

desired_extension = '.txt'  # これを所望の拡張子に変更してください

filtered_files = []
for file in files:
_, extension = os.path.splitext(file)
if extension == desired_extension:
filtered_files.append(file)

もしくは、リスト内包表記を使ってより簡潔な方法で同じ結果を得ることもできます:

filtered_files = [file for file in files if os.path.splitext(file)[1] == desired_extension]

ステップ5: フィルタリングされたファイルを表示または処理する

フィルタリングされたファイル名を表示するか、要件に基づいてさらなる処理を行うことができます。

for file in filtered_files:
print(file)

以上で、拡張子でフィルタリングされたファイルのリストが得られます。

以下に完全なコードを示します:

import os

directory_path = '/path/to/directory'
files = os.listdir(directory_path)

desired_extension = '.txt' # これを所望の拡張子に変更してください

filtered_files = [file for file in files if os.path.splitext(file)[1] == desired_extension]

for file in filtered_files:
print(file)

必要に応じて、desired_extension変数を変更してフィルタリングしたい拡張子に一致させてください。