Python - 从长路径获取文件名

标签 python path

我有很长的文件路径,例如:

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

从那里获取文件名的最佳方法是什么,所以我最终得到:

Alexis Jordan - Good Girl

从那里我想将艺术家和标题切割成单独的部分,但我可以做到:)

最佳答案

首先你需要用urllib.unquote()解码URL编码然后使用 os.path module拆分文件名和扩展名:

import os
import urllib

path = urllib.unquote(path)
filename = os.path.splitext(os.path.basename(path))[0]

哪里os.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'

关于Python - 从长路径获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14511435/

相关文章:

python - 将 ignore_index=True 传递给 pd.concat 是否会保留我正在连接的数据帧中的索引连续性?

python argparse - 使用带有 nargs 的列表选项显示困惑的帮助消息

python - 在 FreeBSD 程序中加载 linux 库(Python 脚本)

python - Ctypes linux 行为在 py2 和 py3 上不同

vb.net - 以编程方式映射网络驱动器

css - R Shiny - 拆分 ui 和服务器文件时 Logo 和 CSS 文件的路径

python - 在从 Excel 范围填充的嵌套元组上使用 join()

node.js - 未找到命令 : nodemon --- need helping adding directory to PATH

linux - solaris os设置路径和环境变量

java - 将路径转换为绝对路径