You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python pathlib基于播放列表路径转换MP3相对路径为绝对路径

解决基于播放列表路径解析MP3绝对路径的问题

你需要基于播放列表文件所在的目录来解析相对路径,而非脚本运行的目录,具体实现如下:

正确代码示例

import pathlib
plMaster = pathlib.Path(r"C:\ZZ\XX\Playlist.pls")
plSlave = pathlib.Path(r"..\..\mp3\song.mp3")

# 获取播放列表所在的目录
playlist_dir = plMaster.parent
# 拼接相对路径并解析为最终绝对路径
target_mp3_path = playlist_dir.joinpath(plSlave).resolve()
print(target_mp3_path)  # 输出结果:C:\mp3\song.mp3

关键说明

  • plMaster.parent:提取播放列表文件的父目录(即C:\ZZ\XX),这是解析相对路径的正确基准。
  • joinpath(plSlave):将相对路径与播放列表目录拼接,得到带..的临时路径C:\ZZ\XX\..\..\mp3\song.mp3。
  • resolve():自动解析路径中的..,生成规范的绝对路径C:\mp3\song.mp3。

为什么之前的方法无效

直接调用plSlave.absolute()时,Python会以当前脚本运行的目录(C:\DD\CC\BB\AA)作为基准,拼接后解析出的路径和播放列表位置无关,自然无法得到正确结果。

内容的提问来源于stack exchange,提问作者Ricardo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:35:22