Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 Trump vuelve a amenazar con "pasar por Cuba" una vez que termine con Irán
🔶 El oro y la plata registran fuertes caídas tras fracaso del diálogo entre EEUU e Irán
🔶 "Un fraude total": hay descontento en Perú por retraso de las elecciones
🔶 Cancillería de México ordena visitas diarias a los centros de ICE en EEUU tras la muerte de otro connacional
🔶 La canasta básica en México registra un aumento superior al 7% en marzo
🔶 Gobierno de Colombia avala la eutanasia de hipopótamos para controlar su población
🔶 La Justicia española procesa a la esposa de Pedro Sánchez por cuatro delitos
📌 Toda una colección de canalesa un solo clic.
#Resumen📰 | Lo más destacado destacado e interesante del panorama mundial para el momento:
🔶 Vladímir Putin mantiente en Moscú una reunión con su homólogo indonesio Prabowo Subianto
🔶 Moscú manifiesta su disposición a cooperar con el nuevo Gobierno húngaro
🔶Reabren los colegios electorales en Perú en las elecciones presidenciales
🔶 Keiko Fujimori lidera el recuento presidencial en Perú
🔶 Teherán advierte de que ningún puerto en los golfos estará seguro si se amenaza el territorio de Irán
🔶 Rusia ve en la guerra de Oriente Medio una amenaza a la seguridad alimentaria global
🔶 El papa León XIV responde a las críticas de Trump y reitera su oposición a la guerra en Oriente Medio
🔶 Hizbulá rechaza las consultas directas entre Israel y el Líbano.
🔶 Las gimnastas rítmicas rusas se alzan con la victoria en una etapa de la Copa del Mundo
🛰 Descubre lo que otros callan. Únete ahora.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 EEUU comenzará a bloquear paso a barcos que se dirijan a puertos iraníes
🔶 "No se aprendió nada", considera el canciller de Irán tras bloqueo marítimo por parte de EEUU
🔶Concluye el alto al fuego de Pascua anunciado por Putin
🔶 Inicia el cierre de casillas electorales en Perú
🔶 "Los resultados de las elecciones parlamentarias son claros", afirma Orban
🔶Encuentran fosa con presuntos restos humanos en el rancho mexicano Izaguirre
📌 Toda una colección de canalesa un solo clic.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 Trump advierte sobre un bloqueo total del estrecho de Ormuz por parte de EEUU
🔶 "El diálogo es posible, pero difícil": Díaz-Canel envía un firme mensaje de paz y defensa a EEUU
🔶 Pezeshkián comparte con Putin los resultados de las negociaciones entre EEUU e Irán en Islamabad
🔶 "Igual, pero a mayor escala": Trump compara el bloqueo a Irán con el de Venezuela
🔶 "Es nula la posibilidad de que exista un fraude" en los comicios de Perú, afirma un funcionario electoral
🔶 Casí 2.000 violaciones de la tregua de Pascua cometió Ucrania en solo 16 horas, denuncia Defensa rusa
🛰 Descubre lo que otros callan. Únete ahora.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 "Negociaciones con EEUU continuarán aunque persisten algunas diferencias", dice el Gobierno iraní
🔶 Putin felicita a los rusos por la Pascua
🔶 Nuevo canciller de México se reúne con embajador de EEUU
🔶 A los iraníes les importan los hechos sobre el terreno, no los documentos firmados por EEUU: experto
🔶Ataque con arma blanca en Nueva York deja al menos tres personas heridas
📌 Toda una colección de canalesa un solo clic.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶Inician las negociaciones entre EEUU e Irán en Islamabad, afirma Trump
🔶Comienza el alto al fuego de Pascua anunciado por Putin
🔶 La Fiscalía de Turquía pide condenas de hasta 4.596 años de prisión para Netanyahu y su gabinete
🔶 "Cuba, no estás sola": una gran marcha en apoyo a la isla se realiza en Roma
🔶 Varios heridos, incluido un bebé, en un ataque ucraniano contra la región de Kursk durante la tregua de Pascua
🔶 El Gobierno de Perú despliega más de 100.000 policías y militares para garantizar el orden en las elecciones
🔶 Fuerzas rusas infligen casi 1.200 bajas a Ucrania e interceptan 259 drones en un día de combates
🛰 ¿Quieres saber más? Solo un clic te separa.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 Israel y Líbano entablarán conversaciones en EEUU sobre alto al fuego
🔶 México abre la puerta al 'fracking': "El reto no es geológico, sino financiero, técnico y operativo"
🔶 Colombia responde a Ecuador: aumentará a 100% los aranceles contra sus productos
🔶 "El estrecho de Ormuz se abrirá automáticamente", según Trump
🔶 Israel anuncia nuevos "asentamientos" en Cisjordania en medio de la guerra
🔶 Aplazan la audiencia para el capo mexicano 'Mayo' Zambada en EEUU
📌 Toda una colección de canalesa un solo clic.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 Irán anuncia condiciones para iniciar conversaciones con Estados Unidos
🔶 "No está dentro del radio": España confirma su oposición a la misión de la OTAN en el estrecho de Ormuz
🔶 Cuba reafirma voluntad de consolidar "las históricas y estratégicas relaciones" con Rusia, señala Díaz-Canel
🔶 Vance parte hacia las negociaciones en Islamabad
🔶 Zelenski promete "actuar en consecuencia" en relación con el alto el fuego de Pascua anunciado por Putin
🔶 Rusia libera 2 localidades y registra más de 8.000 bajas militares ucranianas en la última semana
🔶 Momento histórico: Xi Jinping se reúne con la líder de la oposición taiwanesa en Pekín
🔶 Israel ataca zona con periodistas en el sur del Líbano a pesar del alto el fuego en Oriente Medio
🛰 Descubre lo que otros callan. Únete ahora.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 Putin declara alto al fuego temporal con motivo de Pascua, anuncia el Kremlin
🔶 Asamblea Nacional de Venezuela elige a Larry Devoe como nuevo fiscal general
🔶 Canciller cubano agradece a vicecanciller de Rusia por envío de petróleo
🔶 Sheinbaum descarta el uso del "fracking tradicional" para la extracción de gas natural
🔶 Trump exige a Irán que deje de imponer tarifas en el estrecho de Ormuz
📌 Toda una colección de canalesa un solo clic.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 España condena "la inaceptable violencia de Israel" contra el Líbano
🔶 Lavrov confirma la disposición de Rusia a colaborar en la búsqueda de soluciones en torno al conflicto iraní
🔶 Irán publica un mapa oficial de rutas marítimas obligatorias en el estrecho de Ormuz
🔶 Cámara argentina de Diputados sanciona reforma a Ley de Protección de Glaciares
🔶 Rusia y Ucrania realizan el intercambio de cadáveres https://t.me/SputnikMundo/152970
🔶 Israel afirma haber destruido una red subterránea de túneles de Hizbulá
🔶 Las calles se convierten en ríos tras fuertes lluvias en República Dominicana
📌 ¿Has visto a toda nuestra familia?¡Suscríbete!
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶Suman 182 fallecidos por el brutal ataque israelí contra el Líbano
🔶 "Entiendo perfectamente la decepción de Trump", dice jefe de la OTAN
🔶 Washington insiste en que el Líbano no está incluido en el cese al fuego
🔶 Israel lanzó cerca de 100 ataques en contra del Líbano en menos de 10 minutos, reporta la ONU
🔶 México abre la puerta al 'fracking' en busca de reducir su dependencia hacia EEUU
🔶 Exfundador del Cártel Jalisco Nueva Generación se declara culpable en EEUU
🔶 La próxima elección presidencial en Brasil "tendrá como punto álgido la defensa de la democracia": Lula
🔶 Italia busca "evitar que haya una segunda Gaza" en el Líbano, sentencia el canciller
📌 Toda una colección de canalesa un solo clic.
#Resumen📰 | Lo más destacado e interesante del panorama mundial para el momento:
🔶 La Unión Europea busca crear armas nucleares en secreto, revela la inteligencia Rusa
🔶 La tregua entre EEUU e Irán obligará a Israel "a pagar el precio por ella", denuncian medios israelíes
🔶 El T-MEC golpea a los productores del campo en México, reporta un medio
🔶 ¿Qué condiciones plantea Irán para poner fin al conflicto con EEUU?
🔶 EEUU colaborará "estrechamente" con Irán, afirma Trump
🔶 Israel lleva a cabo su mayor ataque en el Líbano desde el inicio de la escalada
🛰 Descubre lo que otros callan. Únete ahora.