ホームページ  >  記事  >  バックエンド開発  >  Python で有効なファイル名の文字列をサニタイズする方法

Python で有効なファイル名の文字列をサニタイズする方法

DDD
DDDオリジナル
2024-10-18 16:55:30441ブラウズ

How to Sanitize a String for a Valid Filename in Python?

Python で有効なファイル名の文字列をサニタイズする

複数のオペレーティング システムに対して安全なファイル名を作成するには、許可されない可能性のある文字を削除する必要があります。このため、英数字 '_-.() ' を保持し、ベスト プラクティスに沿った洗練されたソリューションを模索します。

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。