Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
It's Mid-week!How are we feeling?
It's the third day of the week and a brand new opportunity to smash our financial goals and aspirations.
We hope you're not relenting in your pursuit of success? Keep grinding and keep your eyes laser focused on your goals.
As you continue in the week, avoid distractions and only spend time doing things that add value to you.
Brace up, the week hasn't ended yet!
#Join Our Trading Club👨🏻💻
#✅PropFirmChallenge&Verification
#👨🏻💻FUNDEDAccountManagement
#Join us at Excoincial exchange 2nd year Anniversary on #26 JULY 2020
LIVE AMA🤩📣
DogData CFO
Thomas Melchior
With the support
EXCOINCIAL Team
THE EVENT HOSTED ON AFRICUNIA TV
Facebook:
https://www.facebook.com/africuniatv
Instagram:
https://www.instagram.com/africuniatv
Zoom:
https://zoom.us/j/6331039454
JOIN AMA ON 26TH JULY 2020 AND DO NOT MISS THE CHANCE TO WIN 5 USD!
🐾📣🤩🚀🐾📣🤩🚀🐾📣🤩
Hey, Winners! Prepare to capture your victory with #Vision11.🏆📸
This photographic day, Play, Win, and Smile!💯
#Join the latest contest on #Vision11 with your skilled team, today and win Big!
https://vision11.in/APK/vision11.apk
🚨 You're missing out on the best forex signals out there! The clock is ticking, and these setups won’t wait. Join MENOW to get instant access to the VIP MENTORSHIP channel and take control of your trading before it's too late. Don't let this opportunity slip away! 💥📈
#JOIN NOW & #EARN GOOD
Hiring : Veterinarian
Position: Veterinarian
Location: bisrate gebriel, addis ababa
Type: Full-Time
Requirements:
• Degree in Veterinary Medicine, Animal Science, or Veterinary Science
• Proven ability to handle and care for animals with compassion and expertise
• Excellent communication skills and a strong commitment to client education
Female applicants are encouraged.
contact at +251954297102
#JOIN#Share ማድረጋችሁን አትርሱ👇👇
@vet_opportunities
@vet_opportunities
Рискованные инвестиции японских институтов развития
Японский фонд инфраструктурных инвестиций и городского развития (JOIN) зафиксировал совокупные убытки за 10 лет работы в размере 632,7 млн долл, из которых практически половина (276,3) млн долл. приходится на неудачный проект создания сети скоростных железных дорог типа «синкансэн» в штате Техас.
В рамках проекта предполагалось строительство высокоскоростного железнодорожного сообщения между Далласом и Хьюстоном в штате Техас. Финансирование было выделено американской компании Texas Central Corp.
Курирующее фонд Министерство земли, инфраструктуры, транспорта и туризма Японии проводит проверку обстоятельств принятия решения о выделении столь значительных средств в обход базовых принципов фонда.
Основной принцип государственно-частных фондов заключается в том, что японские компании являются основными инвесторами, а правительство берет на себя риски, вкладывая средства таким образом, чтобы они лишь дополняли частные инвестиции.
В случае с со строительством линии «синкансэн» в Техасе, государственный фонд JOIN стал единственным инвестором, частные японские компании в проекте вообще не участвовали.
Ранее JOIN потерял порядка 113 млн долл. в Мьянме, где проект был заморожен после правительственного переворота, а банкротство транспортного проекта в Бразилии обошлось еще в 50 млн долл.
Все эти расходы лягут на плечи японских налогоплательщиков. В результате все громче звучит вопрос о целесообразности сохранения подобного рода убыточных государственных фондов.
#Япония#JOIN#инвестиции#инфраструктура
Opportunity for Women Entrepreneurs!
The Bayer Foundation Women Entrepreneurs Award is back! This year, we're selecting 15 women founders in health and food security to join a six-month accelerator focused on one thing: building
investor readiness.
Powered by Impact Hub Network, the program is open to revenue-generating ventures across Asia, Latin America, Africa and the Middle East.
Apply by April 13th, 2026: bayerfoundation-wea.com
#JOIN#Share ማድረጋችሁን አትርሱ👇👇
@vet_opportunities
@vet_opportunities
@vet_opportunities
@vet_opportunities