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

Пребарај: #zm

当前筛选 #zm清除筛选
СОЛОДИН LIVE

@goodtraders · Post #9167 · 18.07.2025 г., 10:37

#ZM 👆Цена пытается отскочить от уровня накопления долгосрочного. Плюсы и минусы компании, которые я заметил: 🟢 Компания восстановила доходность пиковую (NM приближается к 30%). 🟢 Появился байбэк. 🟢 EPS пока растёт с опережением. 🔴 Выручка растёт вяло - почти не растёт. 🔴 Конкуренция со стороны Teams и Meet усиливается. 🔴 После пандемии рынок видео-звонков стал "низко-растущим". ❓Как думаете, цена сможет вернуться хотя бы в середину своего диапазона исторического? (200-300$) 🤔👇

Hashtags

Pensive|

@PensivePost · Post #5718 · 12.05.2022 г., 04:36

#poetry#zm This is ship I can't skip This is trip I can't sit This is rift I can't twist This is the chance I can't dance This is the bliss I can't miss This is the joy I can't employ This is the start I can't dart . #humour#review

中文名: 致命紫罗兰 话数: 12 放送开始: 2008年7月1日 放送星期: 星期二 导演: 出﨑統 脚本: 出﨑統 ☺️评分:5.6 还行 🟢故事简介 044是经由操纵遗传因子而获得超群战斗能力的最强女战士。然而获得力量所换来的代价则是她的生命将不长久。她从政府接到了歼灭吸血鬼军团「噬菌」的首领金古的任务。然而在战斗中,044与「噬菌」的年轻战士僇卡相遇,她不知为何要去杀僇卡,如此迷惑着的044,却被政府的领导者达克萨斯二世当作了背叛者。于是两人遭到了政府以及「噬菌」两方面的狙击。受了伤的僇卡与044一起继续逃亡,在这过程中,他们听到了充满了慈爱的谜之声。最终044与僇卡在感受到了微妙的爱意后突进到了最终的决战。 🌐OneDrive:点击下载 🗂百度网盘:点击下载 📁往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZM 标签:#原创#科幻#吸血鬼 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的

中文名: 在魔王城说晚安(Maou-jou de Oyasumi) 话数: 12 放送开始: 2020年10月5日 放送星期: 星期一 导演: 山﨑みつえ 脚本: 中村能子、土屋理敬 分镜: 山﨑みつえ、島津裕行、野呂純恵、斉藤哲人 ☺️评分:7.0 推荐 💙故事简介 过去,在人与魔相互来往、共存的时代。 魔王抓走了人类的公主,囚禁在自己的城堡中——。 被囚禁的栖夜莉丝公主,在牢笼之中低语。 「…除了睡觉…无事可做」 她偷偷逃出牢狱,为追求更优质的安眠而在魔王城中……探索!? 自由任性的人质公主,随心所欲地将魔物们一起拉下水!!新感觉睡眠奇幻喜剧! 🩶GoogleDrive:点击下载 😱百度网盘:点击下载 😄往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZM 标签:#漫改#奇幻#日常#搞笑#治愈 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压 洗版计划

🇵🇭菲行者:骗子曝光

@feixingzhe_baoi · Post #58159 · 18.04.2026 г., 12:02

#网友投稿#在他这里上了一个#钉钉 号 一个 #ZM 3个 #QQ 号 第二天钱也没结 当晚给我聊天记录销毁了 频道给我拉黑了 钉钉号干封一个 ================================================ 😀 😀 😀 😀 😀 😀 😀【MK飞投】 💛 💛 💛 🤣P 站看片卡卡顿顿? 😊用这个梯子试试吧✈️最稳定的LetsVPN🔥v ➡️皇冠现金网 资金雄厚 返水1个点起🔥🔥🔥 📮欢迎加入菲行者所有频道:↓↓↓ https://t.me/addlist/z83tdahTB1I1MWZh 📮商务广告投放请联系:菲行者商务 📮投稿曝光请联系管理:频道小编

中文名: 植木的法则 话数: 51 放送开始: 2005年4月4日 放送星期: 星期一 原作: 福地翼 导演: わたなべひろし ☺️评分:7.0 推荐 💙故事简介 火野国中学1C的植木耕助,在小学6年级的冬天,从现时是他班主任的小林老师那里,得到一种不可思议的能力,他可以把他自觉是垃圾的东西变成树木,限定条件是只限手掌能覆盖的垃圾。 植木的同班同学森爱,因留意到植木的超能力而跟踪植木,岂料途中被一群不良少年骚扰,幸得植木出手替她解围。然而此时,小林老师竟然出现,指植木会遭受“用能力上任的惩罚”。翌日,植木受女生欢迎的“才”(才能)消失了。(由于小林也有出手,所以这惩罚产生某种程度的偏差,所以植木仍能和铃子及玛莉琳等人结为朋友。) 植木被卷入的那场战争,其实是一场由100名候选神为争夺神宝座而进行的战斗,这百名候选神各自挑选一名中学生,并赋予其一种能力应战,最后胜出者所代表的候选神,即会成为下任的神。至于胜出的中学生则能够将“空白之才”(拥有者能拥有任何一种想要的才能)据为己有。 除了植木的“将垃圾变成树”的能力之外,还有许多拥有能力的敌人及对手出现,植木为了不让“空白之才”落入邪恶之人的手中,决定贯彻自己的正义,守护“空白之才”。 🌐辅助网盘:见表格 😱百度网盘:点击下载 😄往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZM 标签:#漫改#热血#环保#烂尾 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压