使用 python 正确编码文件路径

发布于 2024-11-06 01:40:20 字数 195 浏览 4 评论 0原文

我试图通过从字典中获取路径来打开文件。某些文件名包含逗号 (,) 和其他此类字符,使用时会给出“未找到此类文件错误”

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

如果像逗号这样的字符存在,那么它应该编码为: foo%2C%20bar.mp3

谁能告诉我该怎么做?

I am trying to open files by getting the path from a dictionary. Some of the file names have commas (,) and other such characters which when used give a "no such file found error"

For instance the following file path will not open: foo,%20bar.mp3

If characters like commas exist then it should be encoded as : foo%2C%20bar.mp3

Can anyone tell me how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤独岁月 2024-11-13 01:40:20

您可能需要 pathname2url

Python 2.x (docs )

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

Python 3.x (文档)

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

You may need 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'
走过海棠暮 2024-11-13 01:40:20
from urllib import pathname2url
pathname2url('foo,bar.mp3')
from urllib import pathname2url
pathname2url('foo,bar.mp3')
待天淡蓝洁白时 2024-11-13 01:40:20

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

import urllib

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

You can use urllib. The following example might need to be changed if you use Python 3.x, but the general idea is the same:

import urllib

encoded_filename = urllib.quote(filename)
f = open(encoded_filename)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文