Чтобы создать допустимое имя файла из строки в 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
Эти методы удаляют специальные символы, заменяют пробелы подчеркиваниями и преобразуют строку в нижний регистр, чтобы создать допустимое имя файла. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.