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

Python3如何替换XML读取的文件路径字符串中的转义替代字符

问题原因

这类带%XX格式的字符不是UTF-8编码错误,是标准的URL百分号编码:

  • %20对应空格字符
  • %CC%88是U+0308组合分音符,会和前面的o组合成变音字符ö
    用Python标准库就能完成解码,不需要安装第三方依赖。
实现代码

直接调用urllib.parse模块的unquote方法即可完成解码:

from urllib.parse import unquote

raw_path = "file:///Volumes/Storage/Music/Media/Bjo%CC%88rk/Post/02%20Hyperballad.m4a"
normal_path = unquote(raw_path)
print(normal_path)

执行后输出结果完全匹配你需要的格式:

file:///Volumes/Storage/Music/Media/Björk/Post/02 Hyperballad.m4a

补充:本地文件操作适配

如果你后续需要直接读取、操作这个路径对应的本地文件,可以去掉开头的file://协议头,转成系统可识别的本地路径对象:

from urllib.parse import unquote, urlparse
from pathlib import Path

raw_path = "file:///Volumes/Storage/Music/Media/Bjo%CC%88rk/Post/02%20Hyperballad.m4a"
local_path = Path(unquote(urlparse(raw_path).path))
# 生成的local_path可以直接传入open()、os相关文件操作函数使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:54:40