Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
🇧🇪#Belgium: An explosion occurred earlier today outside a synagogue in the city of Liège, causing damage to the building and nearby windows. No injuries were reported.
Authorities established a security perimeter around the site, and Belgium’s federal prosecutor’s office, which handles terrorism and organized crime cases, has taken over the investigation. Officials have not yet released further details about the cause of the explosion, though local authorities described the incident as an "antisemitic act".
(via BBC)
Belgium, Bruges🇧🇪
Christmas Magic in Bruges! 🎄💫
In December Bruges comes alive with twinkling lights, joyful spirits and Christmas markets, of course. 🫶
Wandering through the cobbled streets adorned with festive stalls, where the aroma of mulled wine dances in the crisp winter air is something else. ❤️
⭐️
Who would you visit Bruges with?
#Belgium
@voyage
Belgium, City of Bruges🇧🇪
Bruges is a small Belgian city and the capital of West Flanders. Once the unofficial economic capital of Northwestern Europe, it has now become an important tourist center of the continent. 🏰🏙
Well-preserved medieval quarters in the historic center, crisscrossed by canals, have earned Bruges the rightful claim to be called the "Venice of the North."
#Belgium
@voyage
Rum — Rum (Philips, 1972)
#traditional#Belgium
Первый альбом бельгийской фолк-группы Rum, исполнявшей традиционную и академическую музыку, среди которой — сочинения юриста и композитора Флоримона Ван Дуйса (Florimond Van Duyse), собиравшего голландские, фламандские и валлонские народные песни и опубликовавшего их в нескольких сборниках, которыми, видимо, и воспользовались Rum.
Telegram
🇧🇪#Belgium - 🇬🇧#UK / 🇮🇱#Israel: Belgian authorities seized two UK-origin shipments of military components bound for Israel after they arrived at Liège Airport on March 24th, where they had been scheduled for onward transport to Tel Aviv two days later.
The cargo reportedly included fire-control systems and spare parts for military aircraft. A criminal case was opened as a result of this discovery.
Walloon Minister-President Adrien Dolimont said this was not the first such case uncovered at Liège, adding that it is often difficult to identify military cargo.
He stated that, in this case, the law had clearly not been respected, stressing that no transit licence had been requested, and regardless of request, such a transfer would have been refused under Belgium’s current policy.
(via declassifiedUK)
Happy Saxophone Day!
🎷🎵🎶
The saxophone was invented by Belgian Adolphe Sax in the early 1840s — his birthday, Nov 6, is celebrated as National Saxophone Day.
Feel free to post saxophone music in the comments.
[read more here]
@googlefactss#funfact#saxfact#history#Belgium
't Kliekske — Instrumentaal (CBS, 1978)
#medieval#traditional#Belgium
't Kliekske — бельгийская группа, исполнявшая старинную традиционную фламандскую музыку. Они собрали бесчисленное количество народных песен, мелодий, танцев и инструментов. Один из участников коллектива, Герман Девит, занимался реконструкцией старинных инструментов. В 1995 году Герману было присвоена степень доктора за его исследования и исполнение народной музыки. Группа также являлась инициатором ежегодных курсов народной музыки сначала в Гальмаардене, а затем в Пайоттенланде. На этом альбоме собраны записи произведений из рукописи, обнаруженной Гисленом Потвлиге (Ghislain Potvlieghe) во фламандской деревне Виан.
Telegram
🇱🇻#Latvia - 🇪🇪#Estonia - 🇧🇪#Belgium: Latvia, Estonia, and Belgium have become the first NATO countries to begin deploying the "Blaze" fully autonomous interceptor drone system along their borders amid increasing reports of unauthorized drone incursions in their airspace.
Developed and manufactured in Latvia by Origin Robotics, the Blaze is an autonomous counter-drone interceptor designed to detect, track, and destroy hostile drones and other fast moving aerial targets using radar, AI powered computer vision, and a high explosive fragmentation warhead.
(via Origin Robotics)
🇫🇷#France - 🇮🇹#Italy / 🇬🇷#Greece / 🇪🇸#Spain / 🇧🇪#Belgium: Troops from several countries (Greece, Italy, Spain, and Belgium) have conducted river-crossing exercises in France’s Aube region alongside French troops.
The exercises are part of the broader Orion 2026 military training program.
(via AFP)
Lukas De Clerck — The Telescopic Aulos of Atlas (Ideologic Organ, 2024)
#aulos#drone#ambient#Belgium
Лукас Де Клерк в своём дебютном сольном альбоме исследует возможности телескопического авлоса — современной интерпретации древнегреческого инструмента, исчезнувшего более тысячелетия назад. Его работа находится на пересечении экспериментальной музыки, таких направлений как дрон и постминимализм, и современных археомузыкологических исследований.
🔗AppleMusic | Spotify | Deezer | SoundCloud | Bandcamp