次のようなファイルへの長いパスがあります。
D:%5CMedia%5CMusic%20Videos%5CAlexis%20Jordan%20-%20Good%20Girl%2Emkv
そこからファイル名だけを取得する最良の方法は何ですか。最終的には次のようになります。
Alexis Jordan - Good Girl
そこから、アーティストとタイトルを別々の部分に分割したいのですが、それを管理できます:)
最初に URL エンコーディングをデコードしてから、モジュールurllib.unquote()
を使用してファイル名と拡張子を分割する必要があります。os.path
import os
import urllib
path = urllib.unquote(path)
filename = os.path.splitext(os.path.basename(path))[0]
whereos.path.basename()
はディレクトリ パスを削除しos.path.splitext()
、ファイル名と拡張子のタプルを提供します。
これにより、ファイル名が得られます。
>>> import os
>>> import urllib
>>> path = 'D:%5CMedia%5CMusic%20Videos%5CAlexis%20Jordan%20-%20Good%20Girl%2Emkv'
>>> path = urllib.unquote(path)
>>> path
'D:\\Media\\Music Videos\\Alexis Jordan - Good Girl.mkv'
>>> filename = os.path.splitext(os.path.basename(path))[0]
>>> filename
'Alexis Jordan - Good Girl'
from urllib2 import unquote
from os.path import basename
p = 'D:%5CMedia%5CMusic%20Videos%5CAlexis%20Jordan%20-%20Good%20Girl%2Emkv'
fname = basename(unquote(p))