Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
Mensaje del ayatolá Jameneí al pueblo de #Líbano:
🟥 «Estamos con ustedes, su dolor es el nuestro»
⭕️ El ayatolá Jameneí, Líder de la Revolución Islámica, ha dirigido a la nación libanesa un mensaje en el que expresa su solidaridad con el resistente pueblo del país, afectado por la guerra.
🔗👉LEER LA NOTICIA COMPLETA
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook | TikTok
🟥Encuentro del embajador lisiado de guerra de Irán en el #Líbano con el ayatolá Jameneí
⭕️El Sr. Amaní, herido en un ojo y en las manos en el atentado terrorista del régimen sionista conocido como «operación de los bíperes», informó al Líder de la Revolución Islámica sobre los últimos cambios en su estado de salud...
🔗👉LEER LA NOTICIA COMPLETA
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook | TikTok
🇱🇧/🇮🇱⚔️ Fuerzas del ejército israelí, con apoyo aéreo y tanques Merkava, han lanzado un nuevo ataque contra la ciudad de Ainatha, en el sur del Líbano.
➡️ La caída de Ainatha abre el camino para que Israel entre en la ciudad de Bint Jbeil, la zona residencial más grande y poblada de las regiones fronterizas del sur del Líbano.
#Líbano#Israel
@iswnews_es
#Líbano#Israel
◀️ Imágenes de la operación de los combatientes de la unidad de misiles de Hezbolá contra las bases de Raghavim y Ein Shemir en el centro de la Palestina ocupada.
Veteranos del atentado terrorista Pager se enfrentan a Israel con cohetes Nasr en esta operación.
@iswnews_es
#Líbano#Israel
◀️ Misiles🚀 antitanque de Hezbolá🇱🇧 impactaron tres tanques Merkava israelíes🇮🇱 en la entrada de la ciudad de Dabl, en el sur del Líbano.
✍️ En este enfrentamiento, ocurrido el 25 de marzo, tres tanques Merkava intentaron entrar en Dabl, pero fueron alcanzados por combatientes de la unidad antitanque de Hezbolá, lo que obligó a sus tripulaciones a huir.
@iswnews_es
🇱🇧/🇮🇱⚔️ Fuerzas del ejército israelí, con apoyo aéreo y tanques Merkava, han lanzado un nuevo ataque contra la ciudad de Ainatha, en el sur del Líbano.
➡️ La caída de Ainatha abre el camino para que Israel entre en la ciudad de Bint Jbeil, la zona residencial más grande y poblada de las regiones fronterizas del sur del Líbano.
#Líbano#Israel
@iswnews_es
🟥EEUUha comprendido que no se puede hacer las cosas con métodos duros
🔻¡Vean a cuánta gente han matado en #Gaza!, pero no consiguieron acabar con el movimiento.
🔻En #Líbano, causaron el martirio de alguien de la talla de Seyed Hasan Nasralá y eliminaron a muchas personas —son eso, las acciones de tipo duro—, pero no pudieron acabar con Hezbolá.
🔻De ahí que tengan que operar con métodos blandos. Esos métodos blandos consisten en difundir mentiras, en crear distancia entre la realidad y lo que piensa o imagina la opinión pública.
🔻Usted se está fortaleciendo y ellos propagan que se está debilitando. Ellos mismos se están debilitando, pero difunden que se están fortaleciendo...» (08/01/2025).
🔗 LEER 👉spanish.khamenei.ir/news/6405
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
Ayatolá Jameneí:
🔰La Tormenta de Al-Aqsa es inextinguible y el régimen sionista desaparecerá.
#Gaza#Líbano
🖇spanish.khamenei.ir
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
⭕️ «No vayan a pensar esos idiotas que, porque bombardean hospitales o porque bombardean agrupamientos de gente, han vencido. No. Nadie en el mundo considera eso una victoria...» (25/11/2024). #Gaza#Líbano
🔗LEER👉spanish.khamenei.ir/news/6279
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
⭕️ «Bombardear las casas de la gente no es vencer» (25/11/2024). #Gaza#Líbano
🖇spanish.khamenei.ir/news/6275
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok
⭕️«EEUU tiene las manos manchadas de sangre. Con los crímenes que se han perpetrado en #Gaza y en #Líbano, EEUU es obviamente cómplice, como todos saben ya hoy. Antes se decía a modo de análisis, pero ahora ya lo ven todos...» (07/11/2024).
🔗LEER👉spanish.khamenei.ir/news/6258
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook | TikTok
🟥Las aleyas de la Fátiha y la súplica de Tawássul, rezos recomendados por el ayatolá Jameneí para la victoria del Frente de la Resistencia en #Líbano y #Palestina...
🔗👉LEER LA NOTICIA COMPLETA
Sigan el canal en Telegram del Ayatolá Jameneí 👉@khamenei_es
KHAMENEI.IR | 𝕏 | Facebook| TikTok