Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
#Commentary: #Ethiopian National Dialogue Commission: Monolingual mediator in multilingual country
Established in 2021, the National Dialogue Commission (#NDC) is tasked with fostering inclusive dialogue, peace, and social cohesion in #Ethiopia. However, Mesfin Wodajo argues the Commission operates in a “de facto monolingual” manner in a country of more than eighty languages. Despite its commitment to inclusivity, he contends its heavy reliance on Amharic risks “alienating” large segments of the population.
Mesfin cautions that “language could constrain or empower participants in such national dialogues" and emphasizes that the absence of a clear translation and interpreting strategy reflects an “age-old ideology of implicit linguistic nationalism.”
He urges the NDC to “adopt a multilingual operational framework” to safeguard linguistic rights and ensure meaningful participation for all.
https://addisstandard.com/?p=55668
#Italia#Calabria#Catanzaro
#NdC|Centro presenterà una lista alle elezioni comunali di Catanzaro. Non è ancora chiaro chi sosterrà il partito di Mastella.
@UltimoraPolitics
❗️Il #Senato manda a processo Carlo #Calenda: era stato querelato per diffamazione da Clemente #Mastella (#NdC) per un post durante la campagna elettorale delle europee.
Il centrodestra si astiene, Calenda mandato a processo dagli alleati del campo largo.
@UltimoraPolitics
#Italia#Campania#Benevento
Il mastelliano Nino #Lombardi (#NdC) vince le elezioni provinciali col 73%, battuto il candidato di PD-Azione #Calzone, centrodestra assente. Esulta #Mastella: "Alle elezioni pronti ad andare da soli in tutta la Campania."
@UltimoraPolitics
#Italia🇮🇹
#Regionali
#Campania
❗️Roberto #Fico (#M5S|LEFT; sostenuto anche da #PD|S&D, #AVS|G/EFA|LEFT, #PSI|S&D, #PRI|Centro, #PSDI|Centro-sinistra; #Volt|G/EFA, #IV|RE, #PiùEu|RE, #nDC|Centro, #NS|Centro-destra, liste minori e civici) è stato eletto Presidente della Giunta regionale della Campania.
@TuttoElezioni
#Italia#Elezioni#Provinciali#Avellino
Il Tar di Salerno ha accolto il ricorso di Angelantonio D’Agostino disponendo l’annullamento delle operazioni elettorali concernenti l’elezione del Presidente della Provincia di Avellino relativamente alle fasce demografiche B e D e conseguente rinnovazione delle elezioni stesse limitatamente alle suddette fasce demografiche B e D.
Le elezioni del 2021 avevano visto la vittoria di Rino #Buonopane, sostenuto da #PD, #M5S, #SI e #NdC con il 50.05% contro Angelo Antonio #D’Agostino, sostenuto dalla maggioranza comunale ad Avellino, #Davvero, #IV, #PiùE e #Azione, che aveva ottenuto il 49,95%.
@UltimoraPolitics
#Italia#Campania#Provinciali
Provinciali #Caserta, dati finali - RICOSTRUZIONE ESCLUSIVA OsservatorioItaliano:
🔵 Centro destra per la Provincia di Caserta (#FdI-#FI-#Lega-#NM): 31.85% - 6 seggi
🟠 Campo Largo per Caserta (#PD-#AVS-#NdC-#IV): 21.42% - 4 seggi
🔵 Anacleto Colombiano Presidente (Civica centrodestra legata a Colombiano): 20.61% - 3 seggi
🟠#ATA|Deluchiani: 14.60% - 2 seggi
🔵 Liberi e Democratici per Caserta (#Azione-dissidenti #PSI legati al consigliere regionale Giovanni Iovino): 8.90% - 1 seggio
🟠 Avanti Caserta (#PSI): 2.63% - 0 seggi
*Nella giornata di domani verranno pubblicati i dati ufficiali
@OsservatorioItaliano
#Italia#Comunali#Campania
Comunali di #Salerno: De Luca spacca le coalizioni ed è un tutti contro tutti. Di seguito i candidati:
📌 Vincenzo #DeLuca, sostenuto da #PD, #PSI, #EV, #ATA e civiche deluchiane
📌 Franco Massimo #Lanocita, sostenuto da #M5S, #SI e civiche di sinistra
📌 Armando Zambrano, sostenuto da #Azione, #IV, #NdC, #PLD e #FI
📌 Gherardo Maria #Marenghi, sostenuto da #FdI, #Lega e #NM
📌 Mimmo Ventura, sostenuto da #AP e Dimensione Bandecchi
📌 Alessandro Turchi, civico
@OsservatorioItaliano