Python 3で特定のディレクトリ内の全てのファイル名を拡張子なしで取得する方法
Python 3を使用してディレクトリ内のファイル名を拡張子なしで取得する方法を紹介します。ここでは、標準ライブラリのosモジュールとpathlibモジュールを利用したサンプルコードを提供します。
サンプルコード1: osモジュールを使用
osモジュールのos.listdirとos.path.splitextを使用して、ディレクトリ内の全ファイルの拡張子を除いた名前を取得します。
import os # ディレクトリパスを指定 directory_path = '/path/to/directory' # ディレクトリ内の全ファイルをループ処理 for filename in os.listdir(directory_path): # 拡張子を除いたファイル名を取得 name_without_extension = os.path.splitext(filename)[0] print(name_without_extension)
サンプルコード2: pathlibモジュールを使用
pathlibモジュールを使うと、より現代的で直感的なコードでファイル名を処理できます。
from pathlib import Path # ディレクトリパスをPathオブジェクトとして指定 directory_path = Path('/path/to/directory') # ディレクトリ内の全ファイルをループ処理 for file_path in directory_path.iterdir(): # 拡張子を除いたファイル名を取得 print(file_path.stem)
サンプルコード3: osとpathlibの組み合わせ
osモジュールとpathlibモジュールを組み合わせて、特定の拡張子を持つファイルのみ名前を取得する例です。
import os from pathlib import Path # ディレクトリパスを指定 directory_path = '/path/to/directory' # 拡張子フィルタ extension = '.txt' # ディレクトリ内の全ファイルをループ処理 for filename in os.listdir(directory_path): if filename.endswith(extension): # Pathオブジェクトを作成し、拡張子を除いたファイル名を取得 print(Path(filename).stem)
以上のサンプルコードを参考に、Python 3でディレクトリ内の全てのファイル名を拡張子なしで取得する方法を試してみてください。各方法にはそれぞれ特徴がありますので、用途に応じて選択すると良いでしょう。