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

Резултати

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

Пребарај: #pth

当前筛选 #pth清除筛选
GitHub 红队武器库🚨

@GithubRedTeam · Post #80133 · 13.04.2026 г., 15:00

🚨 GitHub 监控消息提醒 🚨发现关键词:#横向#PTH 📦项目名称:Framework-for-Drill-Bit-Dynamics-Parameter-Identification-and-Cumulative-Work-Resolution 👤项目作者:edwardaud 🛠开发语言: Python ⭐Star数量: 0 | 🍴Fork数量: 0 📅更新时间: 2026-04-13 14:23:50 📝项目描述: 面向宏观录井参数与随钻高频振动极值的钻头力学参数辨识框架。结合 Detournay 切削理论与动态接触模型,通过数值仿真还原井底高频振动过程。采用差分进化算法反演轴向/扭转阻尼与摩擦衰减系数,量化并扣除由粘滑、跳钻及横向涡动引发的额外能量损耗,获取钻头真实的摩擦力与切削效率,最终经全井段积分计算输出累积做功剖面。 🔗点击访问项目地址

Hashtags

PT风向旗

@Ptfxq · Post #653 · 26.04.2024 г., 01:37

关闭登录的内站登陆方法、各站点的官方群组、频道、机器人等信息。本条消息将及时更新,转发消息请点击👆🏻“PT风向旗“👆🏻查看最新版本 因为 TG 的单条消息的字数限制,故切分消息并按照首字母排序。共三条消息,本条消息为第三条,包含 P-Z 开头的站点。 #pandapt#大熊猫 官方频道:https://t.me/+JrJOaxdj5iVlZGU1 官方群组:https://t.me/+jsSiVvKa2MNiMmU9 关门登录:印象中没关过门 #Piggo#猪猪网 官方机器人:https://t.me/PigGo_official_Bot 官方群组:绑定官方机器人加入 关门登录:通过官方机器人获取登录链接 #Pter#PterClub#猫#猫站 官方机器人:https://t.me/PTerClubBot 账号问题申诉机器人:https://t.me/trackermodbot 官方频道:https://t.me/PterClub 官方群组:https://t.me/+Inhlbr6qmaBlZjQ1 关门登录:通过官方机器人获取登录链接 #PTH#PTHome#铂金家 官方机器人:https://t.me/Pthome_Bot 官方频道:https://t.me/mypthome 官方群组:https://t.me/+UffbhnOHu8oApN67 关门登录:通过官方机器人获取登录链接 #PTChina#铂金学院 什么都没找到 #PTFans 什么都没找到 #PTsbao#sbao#烧包 官方机器人:https://t.me/sbao_bot 官方群组:https://t.me/+ceZMEkPs6d5kNTZl 旧的官方群组:https://t.me/joinchat/MRSnwRYOgdhqVH7CvMlZqg 关门登录:官方机器人 或 网址后加 "/adminer.6b72d14a2b5f0d92a740ccb55a2599d8.php" 即可看到相关说明。 #PTT#PTTime 什么都没找到 #PTLSP 官方频道:https://t.me/PTLSP_Official 官方群组:通过站内 PM 站长申请加入 关门登录:印象中没关过门 #ptvicomo#象站#象岛 官方机器人:https://t.me/PTVicomoBot 官方群组:(未找到有效的加入链接) 关门登录:通过官方机器人获取登录链接 #Qingwa#青蛙 官方机器人:https://t.me/qingwaking_bot 官方群组:https://t.me/+iI18wsDQ1hQ1ZTZl 关门登录:通过官方机器人获取登录链接 #rousi#肉丝 官方群组:https://t.me/rousiclub 关门登录:网址后加 "login.php" 即可。 #sharkpt#鲨鱼 官方机器人:https://t.me/sharkpt_bot 官方频道:https://t.me/shayupt 官方群组:https://t.me/shark_pt_offical 关门登录:印象中没关过门,如果登录不上挂个梯子试试 #SJTUPT#SJTU#葡萄 什么都没找到 #SkyeySnow#天雪 什么都没找到 #soulvoice#聆音 官方群组:(未找到有效的加入链接) #srvfi 官方群组:https://t.me/srvfiraws 关门登录:印象中没关过门 #Tccf#他吹吹风 什么都没找到 #TJU#TJUPT#北洋#北洋园 官方机器人:https://t.me/TJUPT_bot 官方频道:https://t.me/tjupt2010 关门登录:通过官方机器人获取登录链接 #TLF#TLFBits 官方频道:https://t.me/tlfbits 官方群组:https://t.me/joinchat/nAqf8pC6Y1lkNWFh 关门登录:印象中没关过门 #TTG 准官方频道:https://t.me/joinchat/VXzcnSsRa8DttakH 准官方群组:https://t.me/+KCkEpVCikBZjZjQ1 关门登录:只能自行备份 Cookies #U2#幼儿园 无任何官方频道、群组、机器人,也没关过门。 目前比较活跃的非官方群组需要通过非官方机器人加入 https://t.me/UCoinLoginBot 还有魔法观测、宕机推送等频道需要通过非官方机器人加入 https://t.me/U2ObserverBot #Ubits 官方群组:https://t.me/Ubits_chat 关门登录:印象中没关过门 #UltraHD 官方机器人:https://t.me/ultrahd_kf_bot 官方群组:(未找到有效的加入链接) 关门登录:通过官方机器人获取登录链接 #WinterSakura#冬樱 官方群组:https://t.me/+T4YrDUV-C3hkZGRl 关门登录:印象中没关过门 #xingtan#杏坛 官方群组:(未找到有效的加入链接) 关门登录:印象中没关过门 #YDY#伊甸园 官方群组:https://t.me/YDYPT (谨慎加入,群组已无人维护,广告漫天) 关门登录:网址后加 "/login.php" 即可。 #ying#starspace#影#星空 官方频道:https://t.me/ShadowFlow_Official_Channel 官方群组:https://t.me/JHnYgw0OGY1 关门登录:印象中没关过门 #zmpt#织梦 官方频道:https://t.me/zmptcc 官方群组:https://t.me/+ZGBAaRcU_pBmZjFl 关门登录:官方频道内会发布登录链接 #zhuque#朱雀 官方机器人:https://t.me/ZHUQUE_helper_bot 官方频道:https://t.me/channel_zhuque 官方群组:https://t.me/group_zhuque 关门登录:通过官方机器人获取登录链接