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

Пребарај: #elnino

当前筛选 #elnino清除筛选
NEA Singapore

@NEASingapore · Post #616 · 11.08.2023 г., 04:16

Have you heard of El Niño? Even though Singapore is thousands of kilometres away from the Pacific Ocean, we are not immune to this global climate event that causes fluctuations in our weather patterns, leading to less rainfall and hotter temperatures. El Niño conditions have developed and are predicted to strengthen over the next few months and persist at least until the end of 2023. Let’s be prepared and adapt to these changes together, learn more at go.gov.sg/el-nino#SGWeather#ElNino

Amazing Geography 🌍

@amazingeo · Post #8 · 09.08.2025 г., 13:52

🌍 The El Niño and La Niña cycles shift ocean temperatures across the Pacific, affecting weather patterns around the globe, from droughts in Australia to floods in South America. ✨ #ElNino⚡#LaNina⚡#climate⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 🌍

🚢Учёные предупреждают о супер-Эль-Ниньо: балкеры ждёт новая волатильность. Климатологи предупреждают о возможном формировании очень сильного явления Эль-Ниньо, которое может стать одним из самых интенсивных за всю историю наблюдений. Такое развитие событий способно вызвать экстремальные погодные явления по всему миру — засухи, наводнения и периоды сильной жары. Для рынка сухогрузных перевозок это означает дополнительную нестабильность в товарных потоках. Особенно чувствительными могут оказаться типоразмеры балкеров Handysize, Supramax и Panamax, которые активно используются для перевозки сельскохозяйственных грузов, включая зерно и агропродукцию. Изменения климатических условий способны существенно повлиять на урожайность и географию экспорта, что, в свою очередь, меняет маршруты перевозок и усиливает тонно-мильный фактор. В результате погодные колебания всё чаще становятся важным драйвером фрахтовых ставок наряду с геополитикой и макроэкономикой. Аналитики отмечают, что сухогрузный рынок уже сталкивается с ростом погодных рисков, которые могут усиливать цикличность спроса на перевозки сырья и продовольствия. 📌NOAA (National Oceanic and Atmospheric Administration) — американское государственное агентство, основанное в 1970 году, занимается мониторингом океанов, атмосферы и климатических процессов, включая исследования явления Эль-Ниньо. Организация финансируется федеральным бюджетом США. #DryBulk#ElNino#CommodityMarkets#ShippingRisk#ClimateImpact

#ElNino#SuperElNino#ClimateChange#WeatherAnomalies#GlobalWarming#climate#destruction#anomaly#climatecrisis#weather 🌍 Изменение климата делает супер-Эль-Ниньо 2026–2027 годов иным: планета теперь теплее 🌡️ Климатологи предупреждают, что предстоящее событие супер-Эль-Ниньо 2026–2027 годов будет значительно отличаться от предыдущих мощных эпизодов в 2015–2016 годах, 1997–1998 годах и 1982–1983 годах. 🌊 Основная причина — глобальное потепление. Фоновые температуры поверхности моря в тропической части Тихого океана теперь заметно выше, чем они были несколько десятилетий назад. Это усиливает конвекцию и грозовую активность над океаном. ⚡ Грозовая активность в Тихом океане во многом определяет, как Эль-Ниньо влияет на глобальные погодные условия — включая распределение осадков, засухи, наводнения, ураганы и волны тепла по всему миру. 🔥 Ситуация показывает, как климатический кризис меняет даже хорошо известные природные явления, делая их более интенсивными и непредсказуемыми. 📎 Источник: Бен Нолл (NOAA) и климатические модели ECMWF