Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
🇲🇱Assimi #Goïta a dirigé, ce 4 mai au palais de Koulouba, la cérémonie mensuelle du lever des couleurs, véritable symbole de la souveraineté malienne.
Des collaborateurs immédiats du président et des chefs de service dépendant de la présidence étaient présents à l’événement.
RT en français • Osez questionner !
💬 « À l'heure où je vous parle, le dispositif est renforcé, la situation est maîtrisée »
– Assimi #Goïta s’est adressé à la nation au sujet des attaques terroristes survenues au Mali le 25 avril.
Crédit vidéo : ORTM
RT en français • Osez questionner !
🇲🇱Assimi #Goïta a dirigé, ce 4 mai au palais de Koulouba, la cérémonie mensuelle du lever des couleurs, véritable symbole de la souveraineté malienne.
Des collaborateurs immédiats du président et des chefs de service dépendant de la présidence étaient présents à l’événement.
RT en français • Osez questionner !
🔴Le discours du président Assimi #Goïta à la nation après les violentes attaques terroristes a été accueilli avec émotion dans le pays. Les précisions avec Nouhoun Kané.
RT en français • Osez questionner !
🗣« Les opérations se poursuivront jusqu'à la neutralisation complète des groupes impliqués et le rétablissement durable de la sécurité sur l'ensemble du territoire national »
– Assimi #Goïta.
Crédit vidéo : ORTM
RT en français • Osez questionner !
💬 « Ces attaques ne sont pas des faits isolés. Elles s'inscrivent dans un vaste plan de déstabilisation conçu et exécuté par les groupes armés terroristes et les sponsors internes et externes »
– Assimi #Goïta.
Crédit vidéo : ORTM
RT en français • Osez questionner !
💬 « À l'heure où je vous parle, le dispositif est renforcé, la situation est maîtrisée »
– Assimi #Goïta s’est adressé à la nation au sujet des attaques terroristes survenues au Mali le 25 avril.
Crédit vidéo : ORTM
RT en français • Osez questionner !
🟢Le deuxième jour de la visite d’État du dirigeant malien Assimi #Goïta en #Russie a été marqué par une rencontre avec des représentants de la diaspora malienne.
Les détails avec notre reporter, Antoine Cléraux.
RT en français • Osez questionner !
🇲🇱Mali : Visite du président de la Transition aux blessés et hommage au général Sadio #Camara
Le président de la Transition, le général Assimi #Goïta, s’est rendu au CHU Bocar Sidi Sall de Kati après les attaques simultanées à Kati, Bamako, Mopti, Gao et Kidal. Il y a rencontré les blessés civils et militaires, salué le personnel médical et exprimé ses encouragements, tout en leur souhaitant un prompt rétablissement.
Il s’est ensuite recueilli au domicile du général Sadio Camara, décédé le 25 avril lors de ces événements. Le chef de l’État a présenté ses condoléances à la famille et réaffirmé la détermination des autorités à poursuivre son engagement pour la sécurisation du territoire national.
Crédit photos : AES INFO
RT en français • Osez questionner !
🇲🇱Mali : Visite du président de la Transition aux blessés et hommage au général Sadio #Camara
Le président de la Transition, le général Assimi #Goïta, s’est rendu au CHU Bocar Sidi Sall de Kati après les attaques simultanées à Kati, Bamako, Mopti, Gao et Kidal. Il y a rencontré les blessés civils et militaires, salué le personnel médical et exprimé ses encouragements, tout en leur souhaitant un prompt rétablissement.
Il s’est ensuite recueilli au domicile du général Sadio Camara, décédé le 25 avril lors de ces événements. Le chef de l’État a présenté ses condoléances à la famille et réaffirmé la détermination des autorités à poursuivre son engagement pour la sécurisation du territoire national.
Crédit photos : AES INFO
RT en français • Osez questionner !
🟢Assimi #Goïta a salué la synergie d'action au sein de l’#AES et la qualité de la coopération avec les partenaires stratégiques de son pays, notamment la #Russie.
Crédit vidéo : ORTM
RT en français • Osez questionner !