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 слични објави

Пребарај: #jwst

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

@cosmomyst · Post #258 · 11.09.2025 г., 20:11

🪐 The James Webb Space Telescope has uncovered giant, star-forming galaxies such as CEERS-93316 that existed less than 250 million years after the Big Bang. These ancient galaxies are much larger and brighter than scientists expected, revealing that massive cosmic structures began assembling much earlier in the universe’s history than previously thought. ✨ #galaxies⚡#earlyuniverse⚡#jwst⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries ​

Universe Mysteries 🪐

@cosmomyst · Post #242 · 08.09.2025 г., 16:11

🪐 The James Webb Space Telescope has detected complex organic molecules, specifically polycyclic aromatic hydrocarbons, in the distant galaxy SPT0418-47, more than 12 billion light-years away. These molecules, often linked to the building blocks of life, were formed surprisingly early in the universe, showing that key ingredients for life appeared soon after the first stars and galaxies. ✨ #galaxies⚡#origins⚡#JWST⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries ​

科技&趣闻&杂记

@kejiqu · Post #3737 · 30.08.2025 г., 02:53

距地球约 3400 光年:蝴蝶星云中央恒星首次被“抓拍” 詹姆斯·韦布太空望远镜(JWST)首次穿透尘埃,观测到距离地球约3400光年的蝴蝶星云(NGC 6302 / Caldwell 69)中央恒星。该星云位于天蝎座,因形似蝴蝶翅膀的双极气体结构而闻名。JWST利用中红外仪器MIRI,采用积分视场单元模式,获取了不同波长下的精细影像,确定了中央恒星的位置与性质。观测结果显示,该恒星温度高达22万开尔文,是银河系已知行星状星云中温度最高的恒星之一。韦布还解析了尘带成分,发现其中含有晶体硅酸盐等物质,并探测到由中央恒星喷射的铁与镍组成的双向喷流,以及多环芳烃(PAHs)分子辐射信号。IT之家 🏷#蝴蝶星云#JWST#中央恒星 📢频道👥群组📝投稿

Triptophaun.ru

@triptophaun_ru · Post #3602 · 16.04.2026 г., 05:54

Телескоп «Джеймс Уэбб» зафиксировал в атмосфере планеты K2-18b вещества, которые на Земле производят только живые организмы — диметилсульфид (DMS) и диметилдисульфид (DMDS). Учёные из Кембриджского университета осторожно заявили: это самый сильный намёк на биосигнатуру за всю историю наблюдений (уровень ~3σ, или 99,7% статистической уверенности). Простыми словами: на планете в 124 световых годах от нас, вероятно, существует жизнь — скорее всего, в виде огромного океана с микробами, похожими на земной фитопланктон. Мы больше не одни. Земля — не уникальный центр Вселенной. Человечество — лишь часть огромной космической семьи жизни. Это только начало новой эры. Космическое одиночество постепенно заканчивается. #Космос#K2-18b #JWST#ИнопланетнаяЖизнь#МыНеОдни🌌🪐🧬