Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
The majority of young Americans want to leave the country, a new report from the American Psychological Association showed that 63% of Americans between the ages of 18 and 34 were thinking about emigrating. 🌍
There are 53% of such parents. In the whole country, anxiety is even higher: 76% of adults admitted that they are worried about the state of the country — political division, instability and a sense of uncertainty about the future. Many of the respondents feel isolated and tired. 😟
People who are particularly hard—pressed by the division in the country are more likely to complain of anxiety and health problems - they have higher levels of chronic diseases and fatigue. 🩺
People with high levels of loneliness are more likely to cancel appointments, sleep poorly, and stop taking care of themselves. 🛌
69% of Americans are worried about fakes, 57% are worried about the growing influence of AI, especially young people and parents. 🤖
But 84% are confident that they will be able to build a good life, and 73% believe that they can change the country's future for the better. 💪
#Youth#Poll
👂More on Trump's Ear
President Donald Trump's administration is now aiming to make the voting process harder for college-age young adults ahead of November's midterm elections.
That's according to a Monday op-ed by MS NOW's Ja'han Jones, who wrote that the Trump administration's Department of Education may be exploring a way to curb young voter turnout with a newly announced investigation into Tufts University. The Education Department announced its new probe in a recent press release, saying the Boston, Massachusetts-based school may have been "illegally sharing college students’ data with third parties to influence elections."
The investigation is centered on Tufts' National Study of Learning, Voting, and Engagement (NSLVE). Tufts describes the NSLVE as "a service to over 1,000 U.S. colleges and universities that can use it to understand and improve their student voting rates." However, the Trump administration is saying the program could have potentially violated the Family Educational Rights and Privacy Act.
"American colleges and universities should be focused on teaching, learning, and research — not influencing elections," Education Secretary Linda McMahon stated. "The Biden Administration, with little to no regard for student privacy laws, openly encouraged institutions to share and utilize student data in order to target certain populations."
#Trump#Elections#Youth
👂More on Trump's Ear ⚠️
🌍 More than 40% of the world's population is under age 25—a record share of young people. This youth wave is largest in Africa and South Asia, shaping future trends worldwide. ✨
#demography⚡#youth⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌐 Organized by youth, for youth: the World Bank Group #Youth Summit is back!
💡 The 11th edition of the World Bank Group Youth Summit is on the theme of Digital Transformation and will engage thousands of participants from around the world.
🧭 The Summit is the largest worldwide annual gathering of youth (aged 18-35) hosted by the World Bank Group.
✅ This year's theme, Powering Progress: Youth Leading the Digital Transformation, will focus on three subthemes: Digital Access and Inclusion, Artificial Intelligence, and Sustainable Technology for a Livable Planet.
📲 Join the event online or in person on May 30-31 in Washington DC.
📝 Seats are limited, so APPLY NOW! Applications are reviewed on a rolling basis, and the deadline is April 25th, 2024.
ℹ️ For more information, please consult the Summit's website or email [email protected].
🗣️ Don't miss out on this opportunity to engage with your peers on the most pressing topics facing our generation!
🔎http://wrld.bg/LxEs50QTffx
#WBGYouthSummit