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

Резултати

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

Пребарај: #cubesats

当前筛选 #cubesats清除筛选
Universe Mysteries 🪐

@cosmomyst · Post #266 · 13.09.2025 г., 16:11

🪐 ESA’s Hera mission, launching in 2024, will be one of the first spaceships to investigate a double asteroid system up close—Didymos and its moonlet Dimorphos. Hera is packed with advanced navigation and tiny CubeSats, showing how future spaceships may use mini-robots and smart sensors to explore hazardous, distant worlds far beyond Earth. ✨ #Hera⚡#Didymos⚡#CubeSats⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries ​

🚀 Unisat.uz

@unisat_uz · Post #918 · 26.11.2022 г., 05:39

Лекция от Евгения Скляревского на церемонии открытия программы UniSat 2.0 Тема: «Без математики лучистой жизнь скучна и неказиста» О спикере: Евгений Скляревский - блогер, сотрудник пресс-службы хокимията, любитель орнаментов, фракталов и флексагонов, популяризатор науки. 📍Мероприятие пройдёт в Министерстве Инновационного развития, 28 ноября в 14.00 Регистрация по ссылке: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link --------- UniSat 2.0 dasturining ochilish marosimida Yevgeniy Sklyarevskiy ma’ruzasi Mavzu: «Nurli matematikasiz hayot zerikarli va ko‘rksiz» Spiker haqida: Yevgeniy Sklyarevskiy - bloger, hokimlik matbuot xizmatining xodimi, naqshlar, fraktallar va fleksagonlar ishqibozi, ilm-fan targ‘ibotchisi. 📍Tadbir Innovatsion rivojlanish vazirligida 28-noyabr kuni soat 14:00 da o‘tkaziladi Ro‘yxatdan ushbu havola bo‘yicha o‘tish mumkin: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link #unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents

🚀 Unisat.uz

@unisat_uz · Post #912 · 24.11.2022 г., 16:29

28 ноября гостем церемонии открытия программы UniSat 2.0.. станет Дмитрий Шноль - академический директор школы "Oxbridge", автор школьных пособий по математике, член жюри российского творческого конкурса учителей математики. ⚙️Тема: Геометрия неба Мы начнем разговор с того, как в Древней Греции люди впервые смогли размышлять о Земле как об астрономическом теле, поняли, что Земля шарообразна, и измерили ее размер. Замечательно, что математические знания современного 8-классника позволяют ему понять, как решили эту задачу гении прошлого. Затем мы обсудим, как математика позволяет выбрать самый экономичный маршрут для современного самолета. А шаг от самолетов к спутникам вы сделаете сами. 📍Мероприятие пройдёт в Министерстве Инновационного развития, 28 ноября, в 14:00. Регистрация по ссылке: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link UniSat — это совместная программа ННО Tech4Impact, UNICEF, Министерства инновационного развития Республики Узбекистан. --------------- 28-noyabr kuni Dmitriy Shnol - "Oxbridge" maktabining akademik direktori, matematika bo‘yicha maktab qo‘llanmalarining muallifi, Rossiya matematika o‘qituvchilari ijodiy tanlovining hakamlar hay’ati a’zosi – UniSat 2.0 dasturining ochilish marosimida mehmonga aylanadi. ⚙️Mavzu: Osmon geometriyasi Biz suhbatni qanday qilib Qadimiy Yunonistonda odamlar ilk bor Yer haqida astronomik jism sifatida fikr yurita boshlaganidan, Yer sharsimon shaklda ekanini tushunishganidan va qanday qilib uning o‘lchamini aniqlashganidan boshlaymiz. Hozirgi 8-sinf o‘quvchisining matematika bo‘yicha bilimlari unga o‘tmish daholarining bu masalasini qanday yechishni tushunish imkonini berishi ajoyib. Keyin biz matematika qanday qilib zamonaviy samolyot uchun eng tejamkor yo‘nalishni tanlash imkonini berishini muhokama qilamiz. Samolyotlardan sun’iy yo‘ldoshlarga qadamni esa o‘zingiz tashlaysiz. 📍Tadbir Innovatsion rivojlanish vazirligida 28-noyabr kuni soat 14:00 da o‘tkaziladi. Ro‘yxatdan o‘tish ushbu havola bo‘yicha: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link UniSat — bu Tech4Impact NNT, UNICEF, O‘zbekiston Respublikasi Innovatsion rivojlanish vazirligining hamkorlikdagi dasturi. #unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents

🚀 Unisat.uz

@unisat_uz · Post #902 · 11.11.2022 г., 11:14

❓Какими словами можно описать программу UniSat? Какие важные знания можно получить, участвуя в программе? 🗣 Ответить на этот вопрос мы попросили участниц прошлого запуска CubeSat. "Космос, мечта, крутые девчонки, исполнение мечты, командная работа, навыки программирования и многое другое". ✅ Участвуй в программе и найди свой ответ на эти вопросы. Регистрация на сайте https://unisat.uz/ ——————— ❓UniSat dasturini qanday so‘zlar bilan ta’riflash mumkin? Dasturda qatnashgan holda qanday muhim bilimlarga ega bo‘lish mumkin? 🗣 Biz avvalgi CubeSat’ni uchirishda qatnashgan ishtirokchilardan shu savollarga javob berishlarini iltimos qildik. "Fazo, orzu, ajoyib qizlar, orzularning ro‘yobga chiqishi, jamoaviy ish, dasturlash ko‘nikmalari va boshqalar". ✅ Dasturda qatnashing va bu savollarga o‘z javobingizni toping. Ro‘yxatdan o‘tish https://unisat.uz/ saytida #unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents