Существует только один модуль: unicodedata
, который включает базу данных Unicode, поэтому имена и свойства кодовых точек Unicode.
unicode
была встроенной функцией в Python 2. Эта функцияпросто конвертируйте строки в строки Unicode, чтобы это была просто кодировка, не нужно хранить все данные.На python3 все строки в юникоде (с некоторыми особенностями).Только кодировка теперь должна быть определена явно.
В этом ответе вы видите только import unicodedata
, поэтому только один модуль.Чтобы удалить акценты, вам нужна не только кодовая точка Unicode, но и информация о типе кодовой точки Unicode (объединяющий символ), поэтому вам нужно unicodedata
.
Возможно, вы имеете в виду unidecode
.Это специальный модуль, но за пределами стандартной библиотеки.Это может быть полезно для некоторых целей.Модули просты и дают только результаты в области ASCII.Это может быть хорошо в некоторых случаях, но может вызвать проблемы за пределами системы письма на латинице.
С другой стороны, unicodedata ничего не делает для вас.Вы должны понимать юникод и применять правильную функцию фильтра (и, возможно, знать, как работают другие языки).
Так что это зависит от ситуации, и, возможно, вам нужны просто другие slug функции (для созданияне экранированная строка).При работе с языками вам не следует переусердствовать (вы можете написать оскорбительное слово).