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

Резултати

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

Пребарај: #file

当前筛选 #file清除筛选
djangoproject

@djangoproject · Post #244 · 28.01.2017 г., 12:28

https://docs.python.org/3/library/marshal.html#module-marshal marshal — Internal Python #object_serialization This module contains functions that can read and write Python values in a binary format. The format is specific to Python, but independent of machine architecture issues (e.g., you can write a #Python value to a #file on a PC, transport the file to a Sun, and read it back there). Details of the format are undocumented on purpose; it may change between Python versions (although it rarely does).

QQ资源岛-破解软件分享

@QQZYDAPP · Post #4481 · 30.10.2025 г., 15:37

⭐️【资源名称】: File Manager Pro+ 文件管理器+ 🤖【适用平台】: #Andoid 🔄【应用版本】: 3.6.4 🔩【应用大小】:23MB 🧱【资源介绍】 File Manager Pro+「文件管理器+」是一款适用于 Android 设备的简单而强大的文件浏览器。反应快速的,功能齐全,用户界面简单清爽,非常易于使用。 🟢绿化版 🟡在线下载:点击下载(无需密码) 🟡 uc下载:点击下载(无需密码) 🔄迅雷网盘:点击下载(无需密码) 📁#安卓软件#File#Manager#文件管理器

BotsGram®

@botsgram_cu · Post #3589 · 06.03.2021 г., 17:01

@thefavbot Qué puede hacer este bot? Este bot puede recopilar todos sus medios en un solo lugar. Usted puede acceder a sus medios favoritos en cualquier chat! Para eso debes escribir @thefavbot en el chat que deseas. Soporta: Foto, video, archivo, audio, voz, gif. Para agregar cualquier medio a su colección, solo necesita enviarlo o reenviarlo al bot. Idioma: Inglés (visto en @BotsGram_cu) #gift, #video, #image, #file

💎File_Comma Pro 文件指挥官v10.7.54240绿化版 35.5 ♻️资源介绍:一款手机文件管理器,功能强大,能一键管理手机系统中的文件内容,文件,音乐,视频,图片等资源都可以进行分类管理,可以在进行快速的整理,查询,同时,文件保管箱还能将重要文件进行加密保管,确保手机重要信息的安全 ⬇️本地下载| 🔵网站下载 ❤️资源指南: 💠主频道|🧑‍💻合作|🤖游戏|👍群聊 🔔标签:#安卓软件#File#Comma#文件指挥官

💎RS文件管理器v2.2.3高级RS File Manager 57.3 ♻️资源介绍:免费,安全,简单,使用RS File Manager轻松有效地管理文件。RS File Manager – RS File Explorer是适用于Android设备的简单而功能强大的文件浏览器。它是免费,快速且功能齐全的。 ⬇️在线下载| 🔵网站下载 🔔标签:#安卓软件#RS#文件管理器#File#Manager

💎RS文件管理器v2.2.1.2高级RS File Manager 57.2 ♻️资源介绍:免费,安全,简单,使用RS File Manager轻松有效地管理文件。RS File Manager – RS File Explorer是适用于Android设备的简单而功能强大的文件浏览器。 ⬇️本地下载| 🔵网站下载 ❤️资源指南: 💠主频道|🧑‍💻合作|🤖游戏|👍群聊 🔔标签:#安卓软件#RS#文件管理器#File#Manager

Libreware

@libreware · Post #1329 · 02.09.2024 г., 14:16

Sharing Share files and apps on android to other devices using browser Share files and apps over HTTP. You need the other device to be connected to the same network. just toggle on the server and scan the QR Code on other device and you're good to go. Files sent from browser to the app can be found in Sharing/ folder in your internal storage. You can always disable uploads in the app settings. https://github.com/Ammar64/Sharing Download https://github.com/Ammar64/Sharing/releases/latest https://f-droid.org/packages/com.ammar.sharing/ #share#file#Transfer#Android#qr

💎BD File Manager 流舟文件v1.8.1绿化版 115 ♻️资源介绍:流舟文件也叫BD文件管理器,是一款主打文件管理功能的软件 ⬇️本地下载| 🔵网站下载 ❤️资源指南:💠主频道|🧑‍💻合作|🤖游戏|👍群聊 🔔标签:#安卓软件#BD#File#Manager#流舟文件

BotsGram®

@botsgram_cu · Post #3840 · 24.04.2021 г., 22:23

@warlockpublicurl_bot Qué puede hacer este bot? Envíale cualquier Archivo Multimedia de Telegram y generará un enlace directo para ello Los Archivos Porno están Estrictamente Prohibidos. Idioma: Inglés (visto en @BotsGram_cu) #file, #upload, #link, #url, #public, #telegram

12
ПретходнаСтраница 1 од 2Следна