Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
names = [
'image.bmp',
'second.txt.bkp',
'data.db',
'.config.cfg',
'file.ext.bkp'
]
И мы хотим убрать у них окончание ".bkp".
Не знаю зачем, пример довольно надуманный) Но суть он показывает, а это главное.
Те, кто еще не очень знаком с библиотекой os.path или pathlib, вероятно решат обработать имена как строки. И тут вполне подойдет метод строки strip().
Что делает этот метод? Он отрезает указанные символы по обеим сторонам строки. Если ничего не указать, то убирает невидимые символы (пробелы, табуляции и переносы строк).
В нашем случае будет выглядеть вот так:
>>> name.strip('.bkp')
То есть просим удалить строку '.bkp' по краям имени файла, если таковая есть.
Можно применить аналогичный метод rstrip(), чтобы отрезать только справа, но для этого примера используем обычный.
>>> for name in names:
>>> print(name.strip('.bkp'))
image.bm
second.txt
data.d
config.cfg
file.ext
Хм, что-то не то с нашими именами! Что случилось??? Видим нежелательное переименование в именах, где и близко не было указанной строки '.bkp'
А дело всё в том, что данный метод ищет не указанную строку, а указанные символы, и не важно в каком порядке.
Для метода strip() строка '.bkp' это не паттерн для поискаа список символов. Потому он отрезал симовол 'p' от '.bmp' и удалил точку из файла '.config.cfg'.
Как тогда правильно заменить именно паттерн? Для начинающего можно посоветовать метод строки replace(), который как раз использует для замены указанную строку целиком. В нашем примере заменим её на пустую строку.
>>> for name in names:
>>> print(name.replace('.bkp', ''))
image.bmp
second.txt
data.db
.config.cfg
file.ext
Уже лучше, но помните, это лишь пример про strip(). Для работы с именами файлов есть способы и более "правильные", дающие однозначно верный результат. Я взял файлы только в качестве примера. Даже replase() тут может сделать не то что ожидаем.
Просто впредь будьте внимательны с этим strip().
#basic
Давно мечтал побывать на главном киберспортивном событии этого лета? 👀
Тогда готовься собирать чемоданы в Эр-Рияд, Virtus.рro совместно с EWC запускает большой розыгрыш билетов на Esports World Cup🏆
Три победителя (1+1), каждый победитель получает два приза: один для себя, а второй — для друга:
💫Класс «All inclusive»: виза, перелёт, проживание и билеты на матчи первой недели Esports World Cup. Мы всё берём на себя!
❤ Болеть за Медведей нужно всегда вместе, поэтому каждый победитель сможет пригласить с собой в поездку ещё одного человека.
Выполни условия конкурса:
▶ Подпишись на все TG-каналы нашего клуба;
▶ Нажми кнопку «Участвовать» под этим постом.
📁Регламент.
Узнаем имена трёх счастливчиков 30-го мая. Успей принять участие и начинай планировать свой отпуск уже сейчас 🤩
#EsportsWorldCup#EWC25#GOGOVP
Давно мечтал побывать на главном киберспортивном событии этого лета? 👀
Тогда готовься собирать чемоданы в Эр-Рияд, Virtus.рro совместно с EWC запускает большой розыгрыш билетов на Esports World Cup🏆
Три победителя (1+1), каждый победитель получает два приза: один для себя, а второй — для друга:
💫Класс «All inclusive»: виза, перелёт, проживание и билеты на матчи первой недели Esports World Cup. Мы всё берём на себя!
❤ Болеть за Медведей нужно всегда вместе, поэтому каждый победитель сможет пригласить с собой в поездку ещё одного человека.
Выполни условия конкурса:
▶ Подпишись на все TG-каналы нашего клуба;
▶ Нажми кнопку «Участвовать» под этим постом.
📁Регламент.
Узнаем имена трёх счастливчиков 30-го мая. Успей принять участие и начинай планировать свой отпуск уже сейчас 🤩
#EsportsWorldCup#EWC25#GOGOVP
Давно мечтал побывать на главном киберспортивном событии этого лета? 👀
Тогда готовься собирать чемоданы в Эр-Рияд, Virtus.рro совместно с EWC запускает большой розыгрыш билетов на Esports World Cup🏆
Три победителя (1+1), каждый победитель получает два приза: один для себя, а второй — для друга:
💫Класс «All inclusive»: виза, перелёт, проживание и билеты на матчи первой недели Esports World Cup. Мы всё берём на себя!
❤ Болеть за Медведей нужно всегда вместе, поэтому каждый победитель сможет пригласить с собой в поездку ещё одного человека.
Выполни условия конкурса:
▶ Подпишись на все TG-каналы нашего клуба;
▶ Нажми кнопку «Участвовать» под этим постом.
📁Регламент.
Узнаем имена трёх счастливчиков 30-го мая. Успей принять участие и начинай планировать свой отпуск уже сейчас 🤩
#EsportsWorldCup#EWC25#GOGOVP
Ты всегда хотел узнать о киберспорте, тренировках или личной жизни игроков Virtus.prо? 🤩
Да? Тогда задавай любой интересующий тебя вопрос под постом с видео к EWC 2025👈
#EsportsWorldCup#EWC#EWC25#GOGOVP
Закидываю удочку, пусть ловится спот на EWC 2025 😎 А пока работаем и тренируемся в поте лица!
Смотрите новый ролик клуба к EWC и поддержите лайком 👇
https://t.me/virtuspro/16044
#EsportsWorldCup#EWC25#EWC#GOGOVP
Главное киберспортивное событие лета уже на горизонте 🔥
Мечта ближе, чем кажется — Virtus.рro совместно с EWC запускает большой розыгрыш билетов в Эр-Рияд 🏆 С 28 мая по 2 июня прими участие в конкурсе и попади прямиком на вторую неделю Esports World Cup, где тебя ждут самые жаркие матчи по Dota 2 и другим дисциплинам ☄
Три победителя (1+1): каждый получает два приза — один себе, второй другу:
💫Мы обо всём позаботимся: виза, перелёт, проживание и билеты на матчи второй недели Esports World Cup;
❤ Болеть за Медведей нужно всегда вместе, поэтому каждый победитель сможет пригласить с собой в поездку ещё одного человека.
Условия конкурса очень просты:
▶ Подпишись на наш канал по Dota 2 и каналDaxak;
▶ Нажми кнопку «Участвовать» под этим постом.
📁Регламент.
Проведи это лето максимально ярко — успей поучаствовать в нашем розыгрыше, а имена трёх счастливчиков мы объявим уже 2 июня ☀
#EsportsWorldCup#EWC25#GOGOVP
Ты всегда хотел узнать о киберспорте, тренировках или личной жизни игроков Virtus.prо? 🤩
Да? Тогда задавай любой интересующий тебя вопрос под постом с видео к EWC 2025👈
#EsportsWorldCup#EWC#EWC25#GOGOVP
Финальный матч группы начнётся через пару часов 🤩
В 12:00 МСК смотрим BO2-серию против Aurora Gaming. Приходи на стрим и поддержи Медведей в этом противостоянии!
#Dota2#EsportsWorldCup#EWC#EWC25#GOGOVP
Первый влог с Esports World Cup 2025🔥
📁 Настрой и подготовка перед турниром;
👀 Обзор практиса, номера в отеле и арены;
👩🚒 45 градусов — это too much для Никиты!
Скорее идём смотреть новый влог на наших каналах
🎧
🎬YouTube | 🖥VK
#Dota2#EsportsWorldCup#EWC#EWC25#GOGOVP
Леонардо ДиКаприо оскуфел и выучил русский язык в новом видео Virtus.pro
Смотрите сами, реакты проставьте и раздайте стиля активом👇
https://t.me/virtuspro/16044
#EsportsWorldCup#EWC25#EWC#GOGOVP
DAXAKИ FNG ЗАКОПАНЫ В ПУСТЫНЕ! САМАЯ ЖАРКАЯ ИГРА ГОДА 🔥
Медведи отправились в Узбекистан, чтобы сыграть в Street Fighter 6 прямо посреди пустыни, ЗАКОПАННЫМИ в песок 🤯
Палящее солнце, песчаная буря и техника, которая отключалась от перегрева, стали настоящим испытанием и для игроков, и для всей съёмочной команды. Но ни жара, ни ветер, ни песок в глазах не смогли остановить нас от завершения этого безумного челленджа!
Смотри прямо сейчас финальный челлендж VP X EWC на наших каналах 👇
🎬YouTube |🖥VK
#EsportsWorldCup#EWC25#EWC#GOGOVP
ЗАПУСТИЛИ TDM НА ВЫСОТЕ СОТЕН МЕТРОВ, ЭТО ВОЗМОЖНО? 🤯
MILKIWAY и EZ4BADBOY доказали на своём примере, сыграв 1v1 прямо НА ПАРАПЛАНАХ в горах Чарвака 🔥
Пока ветер закручивал парней, укачивая в полёте, а пинг не переставал скакать, они не выпускали телефоны из рук, чтобы выполнить безумный челлендж от Virtus.рro X EWC 😱
🏆 Смотри, как парни поставили новый рекорд, в видео на наших каналах!
🎬YouTube | 🖥VK
#PUBGMOBILE#EWC#EsportsWorldCup#EWC25#GOGOVP