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

Резултати

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

Пребарај: #uno

当前筛选 #uno清除筛选

🎙Auszüge aus der Rede des ständigen Vertreters der Russischen Föderation bei der UNO Wassilij Nebensja auf der Sitzung des UN-Sicherheitsrats zur Ukraine (13. Januar 2026) 💬 Die russischen Streitkräfte haben eine Reihe von Schlägen im Zeitraum vom 3. bis zum 9. Januar 2026 durchgeführt, infolgedessen wurden Objekte der Transport-, Flughafen-, Hafen- und Energieinfrastruktur getroffen, die die Funktionsfähigkeit des ukrainischen militärisch-industriellen Komplexes sicherstellten, sowie temporäre Stationierungspunkte der ukrainischen Streitkräfte und der ausländischen Söldner. Dies erfolgte als Reaktion auf den Angriff des Kiewer Regimes auf die Residenz des russischen Präsidenten und Objekte ziviler Infrastruktur unseres Landes. Im Verlauf des Schlages wurde die Mittelstreckenrakete „Oreschnik“ eingesetzt. 💬 Unsere westlichen Kollegen sprechen über Opfer unter den Zivilisten, die Mehrheit von denen, wie gut bekannt ist, eine Folge des Einsatzes der ukrainischen Luftabwehr sind. All diese lautstarken aber absolut unbelegten Behauptungen über Russlands angeblich gezielte Angriffe auf friedlich in ihren Häusern schlafende ukrainische Familien werden durch keine Fakten bewiesen. Russische Streitkräfte greifen Zivilisten nicht an. 💬Gleichzeitig ignorieren unsere westlichen Kollegen vollständig die Verbrechen des Kiewer Regimes, das russische Regionen, Zivilobjekte und Zivilisten gezielt attackiert. Allein im Dezember 2025 belief sich die Zahl der von den ukrainischen Streitkräften betroffenen Zivilisten mindestens auf 367 Menschen. 56 Menschen wurden getötet. 💬 Ein ganz eklatanter Fall – der grausame Terroranschlag gegen die Zivilbewohner von Dorf Chorly, einem Kurort in der Oblast Cherson. Die Menschen – darunter Familien mit Kindern, Einheimische und Gäste – versammelten sich im Café beim Hotel, um das Neujahr 2026 zu feiern. Gerade in diesem Moment griffen ukrainische Terroristen den Ort ihrer Zusammenkunft gezielt an. Als Resultat des Terroranschlags kamen 29 Menschen, einschließlich zwei Kinder, ums Leben. Mehr als 30 Personen wurden verletzt. Chorly liegt im Kurgebiet, auf der Halbinsel Gorkij Kut, die von drei Seiten vom Schwarzen Meer umspült ist. Es gab niemals und gibt keine militärischen Objekte da. Das Territorium entwickelt sich ausschließlich als Kurgebiet: Kinderlager, Ferienzentren, Touristen-Infrastruktur. 💬 Dieser niederträchtige Terroranschlag zeichnet sich durch besonderen Zynismus aus. Wir haben nicht im Geringsten Zweifel daran, dass dieser abscheuliche Überfall im Voraus geplant und gezielt war. Vor diesem Hintergrund verblüfft uns immer wieder die zur Regel gewordene schweigende Reaktion seitens der internationalen Gemeinschaft, vor allem des UN-Generalsekretärs. Der Verzicht auf eine eindeutige Einstufung derartiger Handlungen als Terroranschläge bedeutet die Abkehr von den grundlegenden Prinzipien des humanitären Völkerrechts, einschließlich des Schutzes der Zivilbevölkerung und des Verbots gezielter Anschläge auf Zivilobjekte. 🔗Im Wortlaut lesen @RusBotschaft #Russland#UNO#Ukraine

proWines🍷

@pro_Wines · Post #2777 · 07.06.2024 г., 15:45

Sauvignon Blanc UNO Аргентина 🇦🇷, Мендоса, Долина Уко, белое, сухое, крепость 13%, моносорт. Отличное сопровождение солнечным дням у воды. В бокале прозрачная солома с салатовыми проблесками, в носу тропики, ананас, мята и грейпфпут. Вкус освежающий, чистый, ровный, без явного хруста, с ласковой горчинкой в послевкусии. Ценник +/- 1300р. Чин! 🍷 #uno #Argentina @pro_Wines

小喵的ACG黄油 (重开版)

@xiaomiaogame · Post #2586 · 06.02.2026 г., 12:21

迷失在太空废墟中的母亲 逃离废弃殖民地 廃コロニーからの脱出 Mom Stolen in Space 官方中文步兵版 v1.4 剧情简介 在宇宙旅行中被卷入黑洞的主人公、母亲以及朋友。 醒来后,他们发现身处一个被废弃的神秘殖民地。 主人公为了逃离并返回原来的地方,开始了探索之旅,然而…… 概要 ・系统 这是一款简单的 2D 探索游戏。 玩家需要进行探索,与失散的母亲和朋友汇合。 游戏没有失败设定。 解开简单的机关,就能在各个地方找到物品。 使用这些物品,继续前进吧。 ・H 场景 20 种 H 事件 根据进度变化的点阵动画 注意事项 本作品是使用动作游戏制作大师 MV 制作的。 请务必在体验版中确认运行情况。 另外,非常抱歉,体验版的存档数据无法继承到正式版。剧情简介 在宇宙旅行中被卷入黑洞的主人公、母亲以及朋友。 醒来后,他们发现身处一个被废弃的神秘殖民地。 主人公为了逃离并返回原来的地方,开始了探索之旅,然而…… 概要 ・系统 这是一款简单的 2D 探索游戏。 玩家需要进行探索,与失散的母亲和朋友汇合。 游戏没有失败设定。 解开简单的机关,就能在各个地方找到物品。 使用这些物品,继续前进吧。 ・H 场景 20 种 H 事件 根据进度变化的点阵动画 注意事项 本作品是使用动作游戏制作大师 MV 制作的。 请务必在体验版中确认运行情况。 评分 作者 #uno #PC#ACT#官中#小马拉大车#像素#步兵#母亲 #迷失在太空废墟中的母亲#逃离废弃殖民地#廃コロニーからの脱出#Mom Stolen in Space 下载地址