TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример). Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать? В Django по умолчанию есть готовая функция slugify для таких случаев. Но я её никогда не использую. Почему? Потому что её недостаточно! Приведём пример >>> from django.utils.text import slugify >>> slugify('This is a Title') 'this-is-a-title' Пока всё отлично >>> slugify('This is a "Title!"') 'this-is-a-title' Спец символы удалились, всё хорошо. >>> slugify('Это заголовок статьи') '' Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить >>> slugify('Это заголовок статьи', allow_unicode=True) 'это-заголовок-статьи' Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте. Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою. Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку: 🔸1. Исходный текст: >>> text = 'Мой заголовок №10 😁!' Взял специально посложней со специальными символами. 🔸2. Транслит Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги. from unidecode import unidecode >>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山") 'N S (r) u P 1/4 Yue Shan' Очень крутая библиотека, советую👍 В нашем случае получаем такое преобразование: >>> text = unidecode(text) >>> print(text) 'Moi zagolovok No. 10 !' Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы. А еще наш код уже поддерживает любой язык, будь то хинди или корейский. 🔸4. Фильтр символов Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона. >>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text) >>> print(text) 'Moi_zagolovok_No_10_' Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_". 🔸5. Slugify Осталось удалить лишние символы по краям и сделать нижний регистр >>> text = text.strip('_').lower() >>> print(text) 'moi_zagolovok_no_10' Получаем отличный slug! 😎 🌎 Полный код в виде функции. ______________ PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию. #libs#tricks#django

Резултати

Пронајдени 8 слични објави

Пребарај: #uzbeklanguage

当前筛选 #uzbeklanguage清除筛选

🇺🇿“Til — el ko‘zgusi, el esa til bilan ulug‘ bo‘lur.”! ✍🏻 Alisher Navoiy "O‘zbek tiliga Davlat tili maqomi berilgan kun munosabati bilan barchangizni samimiy muborakbod etamiz!" Har bir xalqning yuragi — uning tili. Tilda millatning ruhi, tarixi va madaniyati mujassam. ✨O‘zbek tili — xalqimizning bebaho merosi, milliy o‘zligimiz va mustaqilligimizning yorqin timsolidir. Ona tilimizga bo‘lgan mehr — Vatanimizga sadoqatdir. Shu bois o‘zbek tilini asrab-avaylash, to‘g‘ri va go‘zal so‘zlash, uni kelajak avlodlarga beg‘ubor holda yetkazish barchamizning muqaddas burchimizdir. 🎉Bugungi kunda o‘zbek tili hayotimizning barcha sohalarida yangicha mazmun kasb etib, nufuzi tobora ortib bormoqda. O‘zbek tili — millatimizni birlashtiruvchi, o‘zligimizni ifodalovchi kuchdir. Keling, bugun va har kuni ona tilimizni e’zozlaylik, ulug‘laylik! Tilimiz barhayot, yurtimiz obod bo‘lsin! 🇺🇿Biznes va tadbirkorlik oliy maktabi jamoasi #GSBE#GraduateSchool#Uzbeklanguage#Day 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

Ассалому алайкум, дўстлар! Всех с началом новой рабочей и учебной недели! Пусть этот понедельник задаст правильный ритм, а вся неделя будет максимально плодотворной (баракали) для ваших дел и кошелька. Кстати, о делах и кошельке. Сегодня разбираем слово, которое регулирует и то, и другое. Слово дня: ҲАҚ (HAQ). Новичку кажется, что всё просто: открыл словарь, увидел перевод «Правда» или «Право», и пошел дальше. Но в реальной жизни это слово работает как хамелеон. В нём скрыто три разных мира. Давайте разберем анатомию этого понятия. 1. Ҳақ как ЭГО (Я прав!) Это первый уровень, с которым мы сталкиваемся ежедневно. Когда мы говорим «Haq», мы часто имеем в виду свою личную правоту в споре. 🔹 Men haqman! — Я прав! (И точка). 🔹 Sen haq emassan. — Ты не прав. Здесь «Haq» — это инструмент спора. Но помните: слово «Haqiqat» (истина) происходит от того же корня. Заявляя «Men haqman», человек нескромно намекает, что Истина на его стороне. 2. Ҳақ как ДЕНЬГИ (Оплата) Спускаемся с небес на землю. Узбекский язык удивительно справедлив. Если ты сделал работу, ты имеешь «право» на вознаграждение. Поэтому «Haq» — это еще и плата. 🔹 Yo‘l haqi — Плата за проезд (буквально: право дороги). 🔹 Xizmat haqi — Оплата услуги (Service fee). 🔹 Ijara haqi — Арендная плата. Забавно, да? В русском языке «Правда» и «Зарплата» — это разные вселенные. А у нас это грани одного кристалла. Получил деньги — восстановил баланс справедливости. 3. Ҳақ как СОВЕСТЬ (Чужая доля) Самый глубокий пласт. То, что мы называем «Бировнинг ҳақи» (Birovning haqi). Словарь скажет сухо: «чужое право». Но в нашем менталитете это понятие граничит с грехом и кармой. 🔻 Опоздал на встречу? Украл чужое время — залез в birovning haqi. 🔻 Продал плохой товар? Залез в birovning haqi. 🔻 Не доплатил мастеру? То же самое. Есть пугающая пословица: «Birovning haqi teshib chiqadi» (Чужая доля выйдет боком / продырявит изнутри). Это культурный код, который удерживает от обмана лучше любого закона. Изучая язык, помните, что слова — это ключи к мышлению народа. Haqman — Моральный баланс (я не вру). Haqi — Финансовый баланс (я оплатил). Birovning haqi — Социальный баланс (я не взял чужого). Ну что же, у меня на этом всё. Всем продуктивной недели и... не забывайте отдавать каждому его «ҳақ» вовремя! 😉 #UzbekLanguage#УзбекскийЯзык#СловарьСкептика#Haq t.me/skeptikbek

Discover how to address strangers respectfully in Uzbekistan. A practical guide with a list of traditional Uzbek forms of address, translations, and examples to help you show respect and understanding of local culture. https://yep.uz/en/2025/09/respectful-address-uzbekistan/ #Uzbekistan#UzbekLanguage#RespectfulAddress#UzbekCulture#Traditions#Communication

Lesson 19 of my Uzbek self-study course teaches you how to book a table in a restaurant or café in Uzbek. Learn useful phrases, listen to dialogues with audio, and practice with exercises to master real-life situations. https://yep.uz/en/2025/09/lesson-19-booking-a-table-in-uzbek/ #uzbeklanguage#learnuzbek#uzbeklessons#selfstudy#languagelearning#uzbekdialogues#bookingatable

Lesson 42 is out! Learn how to ask “How much does it cost?” in Uzbek. Practice the most common shopping phrases, short dialogues, and real-life expressions with audio and exercises. Start speaking confidently at the market, in shops, or while traveling in Uzbekistan. https://yep.uz/en/2025/09/lesson-42-how-much-does-it-cost-in-uzbek/ #learnuzbek#uzbeklanguage#uzbeklessons#languagelearning#howmuch#shoppingphrases#beginneruzbek

Lesson 20 of my Uzbek self-study course with audio is here! Learn how to say countries, nationalities and languages in Uzbek. The lesson includes exercises, tables, a crossword puzzle and clear grammar explanations. https://yep.uz/en/2025/09/lesson-20-countries-nationalities-languages-uzbek/ #uzbeklanguage#learnuzbek#uzbeklesson#languages#nationalities#countries#selfstudy#languagelearning

Want to learn how to shop in Uzbek? In this new lesson, you’ll discover useful phrases for the bazaar, shops, and buying souvenirs. Listen to the audio, repeat, and practice! https://yep.uz/en/2025/10/uzbek-shopping-phrases-eastern-bazaar/ #uzbeklanguage#shoppinginuzbek#learnuzbek#uzbekphrases#easternbazaar#souvenirs#languagelearning#uzbeklessons

Lesson 21 of our Uzbek self-study course: digraphs sh, ch and the letter l. Learn their pronunciation, see examples with countries and nationalities, and practice with audio exercises. https://yep.uz/en/2025/09/lesson-21-uzbek-digraphs-sh-ch-l/ #uzbek#uzbeklanguage#uzbeklesson#uzbekalphabet#learnuzbek#languagelearning#sh#ch#LeMonde