Pythonでは、ファイルパスから拡張子を除いたベースネームを取得するために、os
モジュールのbasename()
メソッドとsplitext()
メソッドを組み合わせて使用することができます。また、Python 3.4以降では、pathlib
モジュールのPath.stem
を使用することもできます。
以下に、それぞれの方法を示します。
1. os.path.splitext
とos.path.basename
を組み合わせて使用する方法:
import os
basename_without_extension = os.path.splitext(os.path.basename("/path/to/file.txt"))[0]
print(basename_without_extension) # 'file'
この方法では、os.path.basename
でファイルのベースネーム(パスの最後の部分)を取得し、その後os.path.splitext
で拡張子を除いた名前を取得します。
2. pathlib.Path.stem
を使用する方法 (Python 3.4以降):
from pathlib import Path
basename_without_extension = Path("/path/to/file.txt").stem
print(basename_without_extension) # 'file'
この方法では、Path.stem
を使用して拡張子を除いたベースネームを直接取得します。ただし、ファイル名に複数の拡張子(例:’file.tar.gz’)がある場合、Path.stem
は最後の拡張子だけを除きます。
これらの方法を使えば、Pythonで簡単にパスから拡張子を除いたベースネームを取得することができます。適切な方法を選んで、コードに組み込んでみてください。