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

Резултати

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

Пребарај: #filmgallery

当前筛选 #filmgallery清除筛选
allanesta_film

@allanesta_film · Post #297 · 24.01.2026 г., 19:27

II Диптих даблов * диптих - два кадра, связанные единым смыслом. Удивительно получилось на самом деле. Мой фотоаппарат иногда грешил наложением кадров, может одним на всю катушку, но и то редкость, и не на каждой плёнке. А тут — два дабла подряд. Магия ✨ Катушка намотки кинопленки Kodak Vision 3 250D (exp.2020) с авторским дизайном Farfilm.img *Farfilm.img - молодой человек, алхимик фотографии и автор данной катушки с плёнкой. Он собирает разные фотоплёнки и киноплёнки, свежие и даже просроченные, наматывает их вручную в кассеты и даёт им вторую жизнь. Получаются уникальные ленты с непредсказуемым эффектом. Снимать на такие - это эксперимент, творчество и волшебство. кадр 📎 290 📆 01_2026 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Rollei Retro 80 🧪 D-76 1+1, 21°C - 11.30 мин 📌 iso 80 #filmgallery

Hashtags

allanesta_film

@allanesta_film · Post #284 · 10.01.2026 г., 08:10

🎞 OPTI colour Новенькая 🍭 Чудный подарок от хорошего человека. Кусочек магии в 36 кадров, запечатанный в светонепроницаемую канистру. 📎 290 📆 01_2026 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Rollei Retro 80 #filmgallery #olympuspenft

allanesta_film

@allanesta_film · Post #153 · 29.05.2025 г., 17:29

🎞 PhotoWorks 200 (exp.2004) Есть своя магия в съёмке на плёнку, у которой вышел срок годности. Привлекает непредсказуемость результата, азарт и уникальная возможность попробовать редкие экземпляры, которые уже давно не выпускаются. 📷 Olympus Pen FT/ F.Zuiko 38/1.8 P.S. Кто-то собирает коробочки, кто-то канистры. А моя коллекция состоит из снимков тех плёнок, которые я когда-либо использовала для своих фотографий. #filmgallery #olympuspenft

allanesta_film

@allanesta_film · Post #146 · 23.05.2025 г., 11:23

🎞 Wolfen NC500 Не первая моя катушка данной плёнки, но каждый раз она получается по-своему, со своим настроением. 📷 Olympus Pen FT/ F.Zuiko 38/1.8 #filmgallery #olympuspenft

allanesta_film

@allanesta_film · Post #216 · 05.09.2025 г., 15:05

🎞 Kodak Ektar 100 Цветная плёнка — нечастый гость в моём канале. И дело не в её цене. Я заметила тенденцию: дома мне больше нравится снимать на чёрно-белую. Продолжительность съёмки одной катушки цвета равна 1.5÷3 катушкам ч/б. Зато в путешествии цветная улетает быстрее, и по количеству она то сравнивается с чёрно-белой, то даже чуть её превосходит. Поэтому у меня два фотоаппарата: один для цвета, другой для ч/б. 📎 268 📆 08_2025 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Ilford Pan 100 #filmgallery #olympuspenft #ilford #ilfordpan100

allanesta_film

@allanesta_film · Post #185 · 09.07.2025 г., 21:22

🎞 Adox CHS 100 II Случайное наложения кадров и коробочку не видно, значит в будущем будет дубль два 📎 250 📆 06_2025 🗺 Черняховск, Калининградская область 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Agfa Aviphot #filmgallery #olympuspenft #agfa #agfaaviphot

allanesta_film

@allanesta_film · Post #195 · 23.07.2025 г., 17:19

Выбор Каждый раз - это дилемма. И не просто между цветной и черно-белой, свежей или просрочкой, проверенной любимой или неизвестной новой плёнкой. Нет, у меня в голове куча критериев: фотоаппарат, параметры плёнки, время года, планируется ли поездка, личные задумки сюжетов, настроение и т.п. А порой это просто интуитивный выбор ✨ 📎 247 🗺 Калининград 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Kodak Proimage 100 (exp.2023) 📆 05_2025 📌 iso 100 P.S. на фото ещё не все. верх - чб / низ - цвет #olympuspenft #filmgallery #kodak #kodakproimage100

allanesta_film

@allanesta_film · Post #208 · 27.08.2025 г., 19:12

🎞 Retro 80 Та самая, с рыбками 🐟 Результаты с плёнки получились неоднозначные. Во-первых, потому что я не знала точный режим проявки для неё. Действовала наощупь. Во-вторых, мой «Зенит 122» уже снимал её на последнем дыхании, отрабатывая порой не ту выдержку. Плёнка вышла контрастная: местами очень, местами не очень.🔳 Будет несколько заходов с фотографиями. 📎 241 📆 05_2025 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Fujifilm Acros 100 II #filmgallery #olympuspenft #fujifilm #fujifilmacros100

allanesta_film

@allanesta_film · Post #228 · 01.10.2025 г., 19:55

🎞 SHANGHAI Color film Катушка из Поднебесной преподнесла сюрприз. Мне везёт! 🙌🏼 Половина плёнки с перфорацией жёлто-янтарного цвета, а другая — зелёного. Как такое возможно? Отснята на один фотоаппарат, проявлена одной сплошной лентой. Все условия одинаковы, кроме одного: часть с зелёной перфорацией была отснята уже дома, в родном краю, а первая, янтарная — в отпуске. То есть плёнка прошла через аэропорт. Но от рентгена обычно появляется рисунок, а не изменение цвета подложки... Волшебство! 📎 262 📆 07_2025 📷 Olympus Pen FT/ F.Zuiko 38/1.8 🎞 Agfa APX100 #filmgallery #olympuspenft #agfa #agfaapx100

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