Pythonでは、OSに依存せずにパスからファイル名を抽出するために、os.path.basename()やpathlibを使用できます。
os.path.basename()を使用する
import os
filename = os.path.basename('/path/to/file.txt')
print(filename) # 出力: file.txt
この方法はクロスプラットフォームで動作し、ファイル名を正確に抽出できます。
pathlibを使う
Python 3.4以降では、pathlib.Pathも使用可能です。
from pathlib import Path
filename = Path('/path/to/file.txt').name
print(filename) # 出力: file.txt
拡張子を除く方法
拡張子を除いたファイル名が必要な場合は、os.path.splitext()またはPath().stemを使用します。
# os.path.splitext() の例
file_stem = os.path.splitext(filename)[0]
print(file_stem) # 出力: file
# Path().stem の例
file_stem = Path('/path/to/file.txt').stem
print(file_stem) # 出力: file
まとめ
os.path.basename()とpathlibの両方を使うことで、OSに依存しないパス操作が可能です。- 拡張子を除いたファイル名が必要な場合には、
splitext()やstemを使用します。