我试图通过从字典中获取路径来打开文件。一些文件名有逗号(,)和其他这样的字符,使用时会给出“没有找到这样的文件错误”
例如,以下文件路径无法打开:foo,%20bar.mp3
如果存在逗号等字符,则应将其编码为:foo%2C%20bar.mp3
谁能告诉我怎么做?
答案 0 :(得分:15)
您可能需要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'
答案 1 :(得分:3)
from urllib import pathname2url
pathname2url('foo,bar.mp3')
答案 2 :(得分:2)
您可以使用urllib。如果使用Python 3.x,可能需要更改以下示例,但总体思路是相同的:
import urllib
encoded_filename = urllib.quote(filename)
f = open(encoded_filename)