Python
でファイルパスから拡張子を取り除く際、Python
3.4以降であればpathlib
を使用するのが便利です。以下はその基本的な使用例です。
from pathlib import Path
file_name = Path("/path/to/file.txt").stem
print(file_name) # 'file'
このstem
プロパティはファイル名のみを返し、拡張子を除去します。複数の拡張子がある場合は、.stem
は最後の拡張子だけを除去します。
複数の拡張子に対応する方法
複数の拡張子があるファイルでは、with_suffix('')
を使用して拡張子を取り除くことができます。
file_name = Path("file.tar.gz").with_suffix('').stem
print(file_name) # 'file'
これにより、.tar.gz
のような複数の拡張子があっても対処可能です。
os.pathを使った方法
Python
3.4未満のバージョンでは、os.path.splitext
を使用して拡張子を除去できます。
import os
file_name = os.path.splitext(os.path.basename("/path/to/file.txt"))[0]
print(file_name) # 'file'
この方法では、拡張子を取り除くためにos.path.splitext
を使い、ファイル名のみを取得するためにos.path.basename
を使います。
まとめ
Python
でファイル名から拡張子を除去するには、pathlib
とos.path
を使った方法があります。pathlib
は特に直感的で便利なため、Python
3.4以降ではこちらが推奨されます。