python - 使字符串成为有效的文件名,以后可以将其视为原始字符串

标签 python

假设我有一个字符串

"this is | test"

并且我想使用该字符串作为文件名,但文件名中包含 | 字符是无效的。将所有无效的文件名字符替换为有效的字符,但稍后我可以通过替换回所有先前替换的无效字符来读取保存的文件名,最好的方法是什么?

为了更好地解释,初始字符串是

this is | test

然后我将字符串替换为“this is # test”并保存了文件,现在我只需替换#即可将该文件名重新读取为原始字符串> 与 |。对于所有无效字符串实现此目的的最佳方法是什么?

最佳答案

您可以使用 URL 引用,因为 URL 安全字符对于文件名通常也是安全的:

>>> import urllib.parse
>>> urllib.parse.quote("this is | test", safe=" ")
'this is %7C test'
>>> urllib.parse.unquote("this is %7C test")
'this is | test'

或者您可以base64编码/解码您的字符串:

>>> import base64
>>> base64.b64encode("this is | test".encode())
b'dGhpcyBpcyB8IHRlc3Q='
>>> base64.b64decode(b'dGhpcyBpcyB8IHRlc3Q=').decode()
'this is | test'

关于python - 使字符串成为有效的文件名,以后可以将其视为原始字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75610981/

相关文章:

python - 如何从包含字符串条目的列表列表中删除 NaN?

Python tkinter root.after_cancel() 问题

python - 为什么训练期间损失曲线会出现大幅跳跃(向上)?

python - 如何用 numpy 拟合特定的指数函数

python - Docker角色创建错误-角色___不存在

python - 在 Python 中,我可以为列表类定义一个实例方法 map() 吗?

python:生成整数分区

python - 在模板标签中使用绝对网址,名称显示但不会定向到链接

python - VSCode 不显示 discord.py 的代码建议

python - 链接到 Django 1.3 中的静态文件的问题