2

次のようなファイルへの長いパスがあります。

D:%5CMedia%5CMusic%20Videos%5CAlexis%20Jordan%20-%20Good%20Girl%2Emkv

そこからファイル名だけを取得する最良の方法は何ですか。最終的には次のようになります。

Alexis Jordan - Good Girl

そこから、アーティストとタイトルを別々の部分に分割したいのですが、それを管理できます:)

4

2 に答える 2

6

最初に 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'
于 2013-01-24T22:00:26.567 に答える
3
from urllib2 import unquote
from os.path import basename

p = 'D:%5CMedia%5CMusic%20Videos%5CAlexis%20Jordan%20-%20Good%20Girl%2Emkv'
fname = basename(unquote(p))
于 2013-01-24T21:59:53.657 に答える