Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
🎉 Free Huge Airdrop ~ Mine Daily $OGC | OGC is Creating #web3 gaming ecosystem.
🥳 Total supply: 1Billion only
🤑 Distributing 100% of tokens to The community
👉 Register here :- https://app.ogcom.xyz/invite/HVzkGq-DiqxVjD73
➖ Register With Email
➖ Verify email & Mine daily
✅ Partnership With Dmailofficial & thenotcoin
⚡️ Voltage Finance is now fully charged, powered by Integral!
The latest Modular CLAMM tech from Algebra—Integral—is live on Fuse Network, the most business- and consumer-friendly blockchain ecosystem for mainstream #Web3 payment adoption.
What’s in store?
🎨 Custom liquidity pools with v4 plugins
⚡ Concentrated liquidity for precise LP strategies
🧨 Dynamic fees that adapt to the market
And so much more! Thus, another DEX joins the growing Algebra CLAMM infrastructure! 💪🏻
🚀 Wallet Agents are LIVE on TRON!
The first protocol on TRON built using MCP tech to enable seamless AI × Wallet interactions.
🔗 Open-source
🧠 AI-ready
⭐️ Decentralized
We’re building the gateway for AI-native dApps to securely connect wallets, sign transactions, and interact on-chain — starting with TRON.
AI builders, let’s shape the future of #Web3 on TRON!
👉https://mcp.tp.xyz/
WEB3 Portal: learn Web3 and Earn!
📱 Discover an innovative approach to learning and working. WEB3Portal is the perfect start in the $TON ecosystem. The goal of the project is to simplify the world of Web3 and make it accessible to everyone.
🔋Learn-to-Earn: Complete tasks, gain valuable skills, and put them into practice immediately.
🔋Real rewards: earn $WebPoints. Compete with other users for the top spot in the leaderboard!
🔋TON tokenexchange , analytics , charts and profitable staking offers - the entire #Web3 ecosystem is now in one application.
🧐Start completing tasks and get over 10,000 WebPoints!
🤝Gamety x Carbon Ventures Stategic Partnership!
We’re excited to announce Gamety’s partnership with CarbonVentures – a new venture fund by trycarbonio, empowering the future of #Web3 innovation.
This Means:
🤔 Backing #Web3 Founders to accelerate growth
🤔 Expanding possibilities within the Gamety Ecosystem
Together with Carbon Ventures, we’re taking Gamety to new heights in the Web3 space.
Stay tuned – the future is here!
Spread the hype! Like, RT, and drop a comment: Tweet 🕊
📎Important Links:
Website | X | Chat (FULL) | Indonesian Chat | African Chat | Vietnamese Chat | CIS Chat | Discord | Announcement | YouTube | Medium | New Bot
GameFi.org & Eragon
💡We are excited to announce a new partnership with Eragon, the ultimate development and distribution platform for Web3 Mobile Games, powered by AI solution. Backed by Aptos, and Sotatek ERAGON offers an unparalleled solution for developers, gamers, and investors.
🤝The partnership will include group gameplays, #Web3 discussions, and competitions in which both of our communities can participate.
📢With the help of Eragon, Game Hub will continue to play a leading role in the GameFi.org ecosystem in Web3 history.
😎 GM fam! How do you spend your time in the mornings? Cause we've got a deal! 🤝
Nomis is in GG22 #Web3 Infrastructure Program, and we need your morning energy ⚡️
- Share the post
- Call frens for support
- Donate ANY amount of $ to drive our cause!
How to donate? It's a breeze:
1. Connect your wallet
2. Add Nomis to your cart 🛒
3. Choose the donation amount (even $1 is enough for us
💜)
4. Submit the payment and make your impact!
The full guide, just in case
SHOW YOUR LOVE
💜👇
We're happy to announce the launch of our sentry nodes on XAI, the world’s first Layer 3 solution for AAA gaming 🎮
As a part of our commitment to XAI's growth and our 2024 strategy to become an active participant in the creation of a more secure and decentralised gaming ecosystem, we are launching our sentry nodes on XAI! 🚀
Looking forward to this exciting journey towards more decentralized and user-friendly #Web3 games! 💪
Congratulations to the shortlisted participants of our Web3 Unleashed: Crypto Innovation Challenge with Bybit x DMCC!
We're excited to be here on the Live Pitching Day where they will showcase their ground-breaking #Web3 projects 🚀
Learn more: https://hubs.li/Q029qjbH0