Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
🌎 Some mid-ocean ridges, like the Mid-Atlantic Ridge, are areas where new seafloor is constantly created as tectonic plates move apart. Hydrothermal vents along these ridges support unique ecosystems, including tube worms and giant clams, which thrive in total darkness using chemical energy instead of sunlight. ✨
#ocean⚡#geology⚡#biodiversity
👉subscribe Interesting Planet
👉more Channels
🌎 Deep beneath the Caribbean Sea, the deepest known blue hole—Dean’s Blue Hole—plunges over 200 meters. Its tight entrance leads to vast, vertical caverns, hosting unique marine life adapted to total darkness and low oxygen levels. ✨
#geology⚡#ocean⚡#biodiversity
👉subscribe Interesting Planet
🌍 Some gold mines today reach over 4,000 meters deep underground, making them among the deepest human-made structures on Earth. Special cooling systems are needed to keep miners safe from extreme heat. ✨
#mining⚡#resources⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The Atlantic Ocean is expanding as the Americas move away from Europe and Africa. This slow drift adds about 2.5 centimeters of new seafloor every year along the Mid-Atlantic Ridge. ✨
#continents⚡#ocean⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The Mid-Atlantic Ridge runs down the center of the Atlantic Ocean, forming the world’s longest mountain chain—most of it hidden beneath the sea between continents. ✨
#continents⚡#ocean⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Mount Etna in Italy is one of the world’s most active volcanoes, but it’s also growing taller each year as repeated eruptions pile new layers of lava onto its summit. ✨
#mountains⚡#volcanoes⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth’s crust floats on a soft, slowly flowing layer below called the mantle. This motion is what powers earthquakes, volcanoes, and shapes continents over millions of years. ✨
#earth⚡#geology⚡#mantle⚡#geography⚡#nature
👉subscribe Amazing Geography
👉more Channels
🌍 Some earthquake "swarms" can hit the same spot repeatedly over weeks or months, releasing energy in small bursts instead of one big quake—often in volcanic or tectonic hot zones. ✨
#earthquakes⚡#tectonics⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The planet’s largest earthquake ever measured—a magnitude 9.5—struck Chile in 1960. This event released so much energy it caused land to drop by up to two meters along the coast. ✨
#tectonics⚡#earthquakes⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 One of the fastest-moving tectonic faults is in Turkey, with plates shifting up to 23 millimeters per year. This constant motion makes the region prone to frequent, sometimes devastating earthquakes. ✨
#tectonics⚡#earthquakes⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some tectonic plate boundaries move so slowly they create “silent earthquakes”—huge shifts that happen over days or weeks, releasing energy without sudden shaking. ✨
#tectonics⚡#earthquakes⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some large earthquakes can trigger aftershocks that last for months or even years. These smaller quakes are part of the Earth’s ongoing adjustment after a major tectonic shift. ✨
#tectonics⚡#earthquakes⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍