创建对多个操作系统安全的文件名需要删除可能不允许的字符。为此,我们寻求一种优雅的解决方案,保留字母数字“_-.()”,并与最佳实践保持一致。
Django 框架通过其“slugify()”函数提供了完美的解决方案。此函数将任意文本转换为文件名友好的格式。它规范化 Unicode,删除非字母数字字符(“_-.()”中的字符除外),转换为小写,并修剪前导/尾随空格、破折号和下划线。
以下是Django sluggification 过程:
<code class="python">def slugify(value): value = unicodedata.normalize('NFKD', value) # Normalize Unicode value = value.encode('ascii', 'ignore').decode('ascii') # Convert to ASCII value = re.sub(r'[^\w\s-]', '', value.lower()) # Remove non-alphanumeric characters return re.sub(r'[-\s]+', '-', value).strip('-_') # Convert spaces to dashes, trim leading/trailing special characters</code>
通过利用“slugify()”函数或调整其算法,您可以确保您的文件名有效并遵循跨多个操作系统的最佳实践。
以上是如何在 Python 中清理字符串以获得有效文件名?的详细内容。更多信息请关注PHP中文网其他相关文章!