Создание допустимых имен файлов из строк в Python: лучшие методы и примеры

Чтобы создать допустимое имя файла из строки в Python, вы можете использовать различные методы. Вот несколько подходов:

Метод 1. Использование регулярных выражений и модуля re:

import re
def create_valid_filename(string):
    # Remove any characters that are not alphanumeric or whitespace
    valid_string = re.sub(r'[^\w\s-]', '', string)

    # Replace whitespace with underscores
    valid_string = re.sub(r'\s+', '_', valid_string)

    # Remove leading and trailing whitespace and hyphens
    valid_string = valid_string.strip('-').strip()

    # Convert the string to lowercase
    valid_string = valid_string.lower()

    return valid_string

Метод 2. Использование модуля unicodedataдля нормализации символов Юникода и модуля stringдля замены символов:

import unicodedata
import string
def create_valid_filename(string):
    # Normalize Unicode characters to their closest ASCII representation
    normalized_string = unicodedata.normalize('NFKD', string).encode('ASCII', 'ignore').decode('utf-8')

    # Replace punctuation and whitespace with underscores
    valid_string = ''.join(c if c.isalnum() else '_' for c in normalized_string)

    # Remove consecutive underscores
    valid_string = valid_string.replace('__', '_')

    # Remove leading and trailing underscores
    valid_string = valid_string.strip('_')

    # Convert the string to lowercase
    valid_string = valid_string.lower()

    return valid_string

Эти методы удаляют специальные символы, заменяют пробелы подчеркиваниями и преобразуют строку в нижний регистр, чтобы создать допустимое имя файла. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.