Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
⚡️#Liban : plusieurs morts après des frappes israéliennes à Jibchit
Plusieurs personnes ont été tuées dans la ville de Jibchit après des frappes israéliennes menées sur ordre du Premier ministre Benjamin Netanyahou, malgré le cessez-le-feu.
Selon des médias libanais, une frappe a détruit un immeuble résidentiel, tuant plusieurs membres d’une même famille. Les secours ont travaillé toute la nuit pour rechercher des survivants sous les décombres.
De son côté, l’armée israélienne affirme avoir visé des infrastructures du Hezbollah dans le sud du pays.
RT en français • Osez questionner !
▶️Le bilan du conflit initié le 2 mars 2026 au #Liban s’est alourdi pour atteindre plus de 2 500 morts
Notre reporter Antoine Cléraux se trouvait au Liban, en plein cœur des combats, lors du début de l’opération américano-israélienne. Quelle est la situation réelle sur le terrain ? Il est en studio avec nous pour en parler.
RT en français • Osez questionner !
🎥La puissance douce du #Liban
La Russie est venue à plusieurs reprises en aide au Liban : en 2006, après l’agression israélienne, elle a participé à la reconstruction des ponts dans le Sud-Liban. En 2024, elle a apporté une aide humanitaire. Aujourd’hui, des Libanais veulent rendre la pareille aux habitants des régions russes touchées par la guerre.
RT en français • Osez questionner !
⚡️La journaliste libanaise Amal Khalil a été tuée par une frappe israélienne, rapporte Al Jazeera
Elle a été retrouvée sous les décombres d’un bâtiment après une attaque israélienne dans la localité d’Al-Tiri, dans le sud du #Liban.
RT en français • Osez questionner !
❕Un deuxième soldat français meurt au #Liban
Emmanuel Macron a annoncé la mort du caporal-chef Anicet Girardin, grièvement blessé lors d’une embuscade au Liban attribuée au Hezbollah. Le militaire, engagé au sein de la mission de la FINUL, a été rapatrié en France, mais a succombé à ses blessures. L'attaque a déjà coûté la vie à un autre soldat français.
RT en français • Osez questionner !
🛬Un avion spécial du ministère russe des Situations d'urgence a livré 27 tonnes d'aide humanitaire destinée à la population du #Liban
RT en français • Osez questionner !
🇷🇺🇱🇧Aide humanitaire russe au #Liban
Un avion Il-76 du ministère russe des Situations d’urgence a décollé pour Beyrouth avec plus de 27 tonnes d’aide destinée aux populations affectées par le conflit, sur instruction de Vladimir Poutine.
Le chargement comprend des générateurs mobiles, des denrées alimentaires, des tentes et du matériel de première nécessité. Le vol retour doit permettre d’évacuer des citoyens russes et leurs familles. Cette opération s’inscrit dans une série d’envois récents, après l’acheminement d’aide vers l’Iran plus tôt en avril.
RT en français • Osez questionner !
⏺Frappes meurtrières au #Liban
Au moins 12 personnes ont été tuées jeudi 7 mai au cours de frappes israéliennes dans le sud du Liban, selon le ministère libanais de la Santé, malgré le cessez-le-feu toujours en vigueur.
Onze morts, dont deux enfants, ont été déplorés dans plusieurs bombardements visant des villages de la région de Nabatieh. Une autre frappe dans le secteur de Marjayoun a également tué un ambulancier affilié au Comité islamique de la santé lié au Hezbollah.
RT en français • Osez questionner !
💬#Liban : cinq membres d’une même famille ont été tués dans une frappe aérienne à Jebchit, selon des sources locales.
L’attaque a détruit une maison dans un quartier résidentiel, alors que la zone se trouvait en dehors de la ligne de sécurité et que des habitants venaient de rentrer après le cessez-le-feu.
RT en français • Osez questionner !
⚡️#Liban : plusieurs morts après des frappes israéliennes à Jibchit
Plusieurs personnes ont été tuées dans la ville de Jibchit après des frappes israéliennes menées sur ordre du Premier ministre Benjamin Netanyahou, malgré le cessez-le-feu.
Selon des médias libanais, une frappe a détruit un immeuble résidentiel, tuant plusieurs membres d’une même famille. Les secours ont travaillé toute la nuit pour rechercher des survivants sous les décombres.
De son côté, l’armée israélienne affirme avoir visé des infrastructures du Hezbollah dans le sud du pays.
RT en français • Osez questionner !
▶️Le bilan du conflit initié le 2 mars 2026 au #Liban s’est alourdi pour atteindre plus de 2 500 morts
Notre reporter Antoine Cléraux se trouvait au Liban, en plein cœur des combats, lors du début de l’opération américano-israélienne. Quelle est la situation réelle sur le terrain ? Il est en studio avec nous pour en parler.
RT en français • Osez questionner !