複数のオペレーティング システムに対して安全なファイル名を作成するには、許可されない可能性のある文字を削除する必要があります。このため、英数字 '_-.() ' を保持し、ベスト プラクティスに沿った洗練されたソリューションを模索します。
Django フレームワークは、その 'slugify()' 関数で完璧なソリューションを提供します。この関数は、任意のテキストをファイル名に適した形式に変換します。 Unicode を正規化し、英数字以外の文字 ('_-.()' 内の文字を除く) を削除し、小文字に変換し、先頭/末尾のスペース、ダッシュ、アンダースコアを削除します。
内訳は次のとおりです。 Django のスラッグ化プロセス:
<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 中国語 Web サイトの他の関連記事を参照してください。