Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
Day One #Token2049
Our CEO Star_OKX takes the stage at TOKEN2049
The new money era is here:
✅ Everything onchain
✅ Self-custody first
✅ Verify before trust
OKX is building this future - one wallet, one transaction at a time.
Our Socials:
⚜️TG | DC | Wallet TG | Wallet Announcement | OKX on Spotify | Twitter/X | YouTube
‼️Please check the authenticity of all OKX links or channels at OKX channel verification
Singapore, lights on. #Token2049
Yesterday, Star_OKX takes the big stage and Haider brings us the fireside chat.
Stay locked, fam 👀
Our Socials:
⚜️TG | DC | Wallet TG | Wallet Announcement | OKX on Spotify | Twitter/X | YouTube
‼️Please check the authenticity of all OKX links or channels at OKX channel verification
Our CEO
Star_OKX
takes the stage at #TOKEN2049
The new money era is here:
✅ Everything onchain
✅ Self-custody first
✅ Verify before trust
OKX is building this future - one wallet, one transaction at a time.
Still day one.
Check out now👈
Our Socials:
⚜️TG | DC | Wallet TG | Wallet Announcement | OKX on Spotify | Twitter/X | YouTube
‼️Please check the authenticity of all OKX links or channels at OKX channel verification
The BNB Chain Incubation Alliance, Singapore agenda is here 🤩
Join us at #Token2049: https://lu.ma/m91xxlbk
This event is sponsored by $WHY, Lorenzo Protocol, D11 Labs, Seraph, Xterio, Solv & Particle Network
Join us at #Token2049 as we continue our mission to onboarding the next billion Web3 users at BNB Incubation Alliance, Singapore 🇸🇬.
Be part of the movement via the link below 👇
https://lu.ma/m91xxlbk
💖 We're thrilled to announce that we'll be part of the exclusive #TOKEN2049 side event, 'DeFi 2049 – Beyond THE Horizon', co-hosted by our partner DEX, THENA, & DeThings! 🎙️
Join us alongside BNB chain, Simon's Cat, Orbs network, Lista, and many more projects!
🧵 Learn more: lu.ma/h9w9yxww
🚀#TOKEN2049 Dubai wrapped up a few impactful days of ecosystem insights and momentum.
VCs remain selective, but capital is shifting towards liquid opportunities, AI infrastructure, and RWAs.
Sui Foundation saw strong engagement from builders and investors, Sonic Labs is gaining traction, Falcon Finance marked its public launch, and there’s much more to unpack 🙌🏼
Read the full recap for detailed insights — and find out where to meet us next!
Guess where we are 🐤✨️
It's been a busy #token2049 and we are not stopping!
Up next, we are at Algorand Royale where our Business Partner of Ecosystems, Alessia Baumgartner, will be sharing on a panel "How to survive and thrive as a Web3 company" 🙌🔥
Join us here 🤩
Excited to be one of the co-hosts and partners of this reception happening alongside #Token2049 in 🇸🇬!
Let's get connected and build together 🫡⚡
Date: 17th September, 2024
Time: 6PM - 10PM
Don't wait, register here🔗
KBW has been a blast 🐥✨️
It's been an amazing night hosting all of our guests at DWF Labs Haus 🎉
We hope you enjoyed your time with us and we'll see you again at our next event 🫡🔥
Next stop 🇸🇬 here we come! #TOKEN2049