使用Python正确编码文件路径

2024-04-25 08:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图通过从字典中获取路径来打开文件。有些文件名有逗号(,)和其他这样的字符,使用这些字符时会显示“没有找到这样的文件错误”

例如,以下文件路径将不会打开:foo,%20bar.mp3

如果存在逗号之类的字符,则应将其编码为:foo%2C%20bar.mp3

有人能告诉我怎么做吗?


Tags: 文件路径编码字典foo文件名错误字符
3条回答

您可以使用urllib。如果使用Python3.x,可能需要更改以下示例,但总体思路是相同的:

import urllib

encoded_filename = urllib.quote(filename)
f = open(encoded_filename)

你可能需要pathname2url

Python 2.x(docs

>>> from urllib import pathname2url 
>>> pathname2url('foo, bar.mp3')
'foo%2C%20bar.mp3'

Python 3.x(docs

>>> from urllib.request import pathname2url
>>> pathname2url('foo, bar.mp3')
'foo%2C%20bar.mp3'
from urllib import pathname2url
pathname2url('foo,bar.mp3')

相关问题 更多 >