Python でファイル名から不正な文字を削除する
文字列をファイル名として使用する場合、ファイル名に許可されている文字のみが含まれていることを確認することが重要です。異なるオペレーティング システム。これは、競合や破損の原因となる可能性のある記号や文字をすべて削除することを意味します。
厳格な基準を遵守し、Windows、Linux、Mac OS 全体でファイル名をサポートする包括的なソリューションについては、Django フレームワークが提供する機能の活用を検討してください。 。具体的には、slugify() 関数:
<code class="python">import unicodedata import re def slugify(value, allow_unicode=False): # Normalize and convert to ASCII if necessary if allow_unicode: value = unicodedata.normalize('NFKC', value) else: value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore').decode('ascii') # Filter out non-alphanumeric, underscore, or hyphen characters value = re.sub(r'[^\w\s-]', '', value.lower()) # Replace spaces and consecutive hyphens with single hyphens return re.sub(r'[-\s]+', '-', value).strip('-_')</code>
この関数は、特殊文字を同等の ASCII 文字に効果的に変換し、不要な記号を削除し、すべてを小文字に変換し、スペースと複数のダッシュを 1 つのダッシュに置き換えます。結果の文字列は、複数のオペレーティング システムでファイル名として使用するのに有効であり、シームレスな転送と互換性が保証されます。
以上がクロスプラットフォームの互換性のために Python のファイル名から不正な文字を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。