我有一个要用作文件名的字符串,所以我想使用 Python 删除文件名中不允许的所有字符。
我宁愿严格一点,所以假设我只想保留字母、数字和一小组其他字符,如 "_-.() "
。什么是最优雅的解决方案?
文件名需要在多个操作系统(Windows、Linux 和 Mac OS)上有效 - 它是我库中的一个 MP3 文件,以歌曲标题作为文件名,并在 3 台机器之间共享和备份。
原文由 Sophie Gage 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个要用作文件名的字符串,所以我想使用 Python 删除文件名中不允许的所有字符。
我宁愿严格一点,所以假设我只想保留字母、数字和一小组其他字符,如 "_-.() "
。什么是最优雅的解决方案?
文件名需要在多个操作系统(Windows、Linux 和 Mac OS)上有效 - 它是我库中的一个 MP3 文件,以歌曲标题作为文件名,并在 3 台机器之间共享和备份。
原文由 Sophie Gage 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
您可以查看 Django 框架,了解它们如何从任意文本创建“slug”。 slug 是 URL 和文件名友好的。
Django 文本实用程序定义了一个函数
slugify()
,这可能是这类事情的黄金标准。本质上,他们的代码如下。和旧版本:
还有更多,但我把它漏掉了,因为它不解决 slugification,而是逃避。