如何解决使用 url 作为文件名
我在 python 中有一个 url,想将其转换为合适的文件名。我开始用“_”替换“/”,如下所示:
def encode_url(url):
return url.replace("/","_").replace(":","#") + ".png"
我还希望能够将文件名解码为原始网址:
def decode_filename(filename):
n_url = ""
for i in filename:
if i == "#":
n_url += ":"
elif i == "_":
n_url += "/"
else:
n_url += i
return n_url
但是,如果网址是:
"https://example.com/example_example_example"
我需要一种不超过字符限制的编码和解码方法,该方法适用于任何给定的 url。 (如果存在)
base64 或十六进制编码的问题是网址经常超过 255 个字符限制。
我正在用 python 制作一个监控应用程序来记录站点的变化。我正在比较图像的变化。我将 json 中的链接存储在 config.json 中,然后使用 encode_url() 方法将图像存储在文件夹中。
当用户删除一个链接时,需要从 config.json 和包含图片的文件夹中删除它。因此,我需要将 url 编码为反向包的方法,以便删除图像文件。
如果有比这更好的解决方案,我也会接受这个作为答案。
解决方法
def encode_url(url):
return url.replace("/","$").replace(":","#") + ".png"
def decode_filename(filename):
return filename.replace('#',':').replace('$','_')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。