Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
Новый год – это время волшебства, подарков, оживших сказок, самых счастливых эмоций и радостных улыбок. Тысячи разноцветных огней освещают улицы города, наряженные ели, удивительные и необычные украшения создают особую атмосферу новогоднего праздника. В это время каждый может почувствовать себя героем сказки, поверить в волшебство и загадать свои самые заветные желания. Команда отеля дарит каждому гостю волшебную открытку, отправляйте её тому, кого хотите поздравить с праздниками и вместе с открыткой к Вашим друзьям и близким отправится частичка счастья, добра и волшебства!🎄
⠀
#отельпекинмосква#hotelpekingmoscow#pekinghotel#newyear #новыйгод2022#пекинмосква #гостиницамосква
Дорогие, милые дамы,
Команда отеля Пекин поздравляет вас с Международным женским днём!
Желаем вам чудесных дней, наполненных радостными событиями, красивыми словами, любовью и душевностью.
Пусть ваши желания исполняются всё чаще, близкие окружают вас теплом и нежностью, заботой и безграничным вниманием.
Счастья вам, прекрасные дамы, и пусть оно не заканчивается!
Мы всегда ждём вас в отеле Пекин!
#гостиницапекинмосква#пекинмосква#8марта#hotelpekingmoscow#pekinghotel#pekinghotelmoscow
Зима — большая волшебная сказка. В ней три главы и бесконечное число чудес на каждой страничке. В каждом слове этой волшебной истории живёт по маленькому чуду!
Декабрь — «О том, как чувствовать волшебство»
Январь — «О том, как придумать волшебство самому»
Февраль — «О том, что волшебство — в тебе»
⠀
Позволь себе окунуться в мир волшебства, бронируй новогодние каникулы на сайте: www.hotelpeking.ru либо по телефону: +7 495 980 59 95 и получай скидку от 10%💫
⠀
#hotelpekingmoscow#pekinghotel#moscow#newyear#holidays#отельпекинмосква#гостиницапекинмосква
С праздником Великой Победы!
Мирного неба, ясного солнца, доброй жизни вокруг!
Светлая память героям войны и их подвигам!
#9мая#9мая2021#76летпобеды#pekinghotel#hotelpekin#hotelpeking#pekinghotelmoscow
1 июня отмечается Международный день защиты детей!
Задача каждого взрослого - сделать детство счастливым и беззаботным.
А мы #pekinghotelteam делаем все, чтобы нашим маленьким гостям и их родителям было уютно и комфортно в нашем отеле. Для малышей у нас есть:
✅детские кроватки
✅стульчики для кормления
✅игрушки
✅подогреватели и стерилизаторы для бутылочек
✅ванночки для купания и даже горшок!
Все, что нужно для отличного отдыха!
Ждем вас в отеле “Пекин”!
Москва, Большая Садовая, д.5
#hotelpeking#pekinghotel#hotelpekin#pekinghotelmoscow#гостиницапекин#гостиницапекинмосква#отдыхсдетьми#семейныевыходные
Тариф “Привилегии особого выбора” - для тех, кто ценит комфорт класса “люкс” во всем.
Для наших гостей:
✅Проживание в номере категории «люкс»*
✅Ранний заезд, после 11.00
✅Поздний выезд, до 16.00
✅Комплемент от отеля
✅Парковочное место для вашего автомобиля.
Бронируйте на официальном сайте www.hotelpeking.ru
Москва, Большая Садовая, д.5
#отельпекинмосква#гостиницапекин#отельпекинмосква#номерлюкс#стандартныйномер#гостиницапекинмосква#pekinghotelmoscow#hotelpekingmoscow#hotelpekin#pekinghotel
Длинные майские праздники закончились и впереди нас снова ждут рабочие дедлайны, спешка, деловые встречи.
Легко настроиться на рабочий лад помогают мысли о предстоящем путешествии. Почему бы не устроить себе мини-отпуск в самом центре столицы? Забронируйте проживание в отеле “Пекин” и окунитесь в весеннюю атмосферу одного из самых красивых городов мира.
Театры, концертные залы, музеи, шикарные парки - все это в шаговой доступности от отеля.
Живите в “Пекине”, наслаждайтесь Москвой!
Бронируйте номера по телефону 8 800 250 05 50 или на официальном сайте по ссылке в шапке профиля.
Москва, Большая Садовая, д.5
#отельвцентремосквы#забронироватьгостиницу#отельпекин#гостиницапекин#гостиницапекинмосква#пекинотель#pekinghotelmoscow#hotelpekingmoscow#pekinghotel
Апартаменты “Золотой Сад” просторный двухкомнатный номер высшей категории, состоящий из большой спальни с двуспальной кроватью размера King size, гостиной с мягкой мебелью, обеденной зоны с кухонным уголком.
Идеальный вариант для размещения семьи.
Номер оснащен всем необходимым для длительного проживания, а дизайнерское решение в пастельных тонах способствует созданию уютной домашней атмосферы. Вся мебель выполнена из натурального дерева.
В ванной комнате: душевая кабина, биде, фен, косметические принадлежности, махровый халат и тапочки. Номер оборудован мини-кухней, чайной станцией, удобной обеденной зоной.
Бронируйте на официальном сайте www.hotelpeking.ru
#забронироватьгостиницу#стандартныйномер#номерлюкс#гостиницапекин#отельпекин#отельпекинмосква#hotelpeking#pekinghotelmoscow#pekinghotel#hotelpekingmoscow