Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
#PaesiBassi🇳🇱
#Parlamentari
Exit poll di Ipsos I&O.
Distribuzione dei seggi.
🟩 Democratici 66 (#D66|RE): 27
⬛️ Partito per la Libertà (#PVV|PfE): 25
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 23
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 20
🟩 Appello Cristiano-Democratico (#CDA|PPE): 19
⬛️ Risposta Corretta 2021 (#JA21|ECR): 9
🟥 Forum per la Democrazia (#FvD|ESN): 6
🟩 Movimento Civico-Contadino (#BBB|PPE): 4
🟩 Partito per gli Animali (#PvdD|LEFT): 3
🟥 Partito Socialista (#SP|Sinistra): 3
🟦#DENK|Minoranze etniche: 3
Altri: 5
Maggioranza: 76
@TuttoElezioni
#PaesiBassi🇳🇱
#Parlamentari
Risultati finali.
Distribuzione dei seggi.
🟩 Democratici 66 (#D66|RE): 26
⬛️ Partito per la Libertà (#PVV|PfE): 26
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 22
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 20
🟩 Appello Cristiano-Democratico (#CDA|PPE): 19
⬛️ Risposta Corretta 2021 (#JA21|ECR): 9
🟥 Forum per la Democrazia (#FvD|ESN): 7
🟩 Movimento Civico-Contadino (#BBB|PPE): 4
🟦#DENK|Minoranze etniche: 3
🟧 Partito Politico Riformato (#SGP|ECR): 3
🟩 Partito per gli Animali (#PvdD|LEFT): 3
Altri: 8
Maggioranza: 76
@TuttoElezioni
#PaesiBassi🇳🇱
#Parlamentari
Risultati finali.
Voti scrutinati: 100%.
Affluenza finale: 78,4% (+0,05%).
🟩 Democratici 66 (#D66|RE): 16,9%
⬛️ Partito per la Libertà (#PVV|PfE): 16,7%
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 14,2%
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 12,6%
🟩 Appello Cristiano-Democratico (#CDA|PPE): 11,8%
⬛️ Risposta Corretta 2021 (#JA21|ECR): 5,9%
🟥 Forum per la Democrazia (#FvD|ESN): 4,6%
🟩 Movimento Civico-Contadino (#BBB|PPE): 2,7%
🟦#DENK|Minoranze etniche: 2,4%
🟧 Partito Politico Riformato (#SGP|ECR): 2,3%
🟩 Partito per gli Animali (#PvdD|LEFT): 2,1%
Altri: 7,8%
@TuttoElezioni
#PaesiBassi🇳🇱
#Parlamentari
Risultati parziali.
Voti scrutinati: 98,6%.
🟩 Democratici 66 (#D66|RE): 16,7%
⬛️ Partito per la Libertà (#PVV|PfE): 16,7%
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 14,1%
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 12,5%
🟩 Appello Cristiano-Democratico (#CDA|PPE): 11,7%
⬛️ Risposta Corretta 2021 (#JA21|ECR): 5,9%
🟥 Forum per la Democrazia (#FvD|ESN): 4,5%
🟩 Movimento Civico-Contadino (#BBB|PPE): 2,6%
🟦#DENK|Minoranze etniche: 2,4%
🟧 Partito Politico Riformato (#SGP|ECR): 2,3%
🟩 Partito per gli Animali (#PvdD|LEFT): 2,0%
Altri: 8,6%
@TuttoElezioni
#Sondaggi
#PaesiBassi🇳🇱
#Parlamentari
Sondaggio di Ipsos I&O.
Data: 23-24 ottobre 2025.
Campione: 2.745 persone.
⬛️ Partito per la Libertà (#PVV|PfE): 16,7%
🟥 Sinistra Verde - Partito del Lavoro (#GLPvdA|G/EFA|S&D): 15%
🟩 Democratici 66 (#D66|RE): 14,4%
🟩 Appello Cristiano-Democratico (#CDA|PPE): 12,6%
🟦 Partito Popolare per la Libertà e la Democrazia (#VVD|RE): 10,4%
⬛️ Risposta Corretta 2021 (#JA21|ECR): 7,7%
🟥 Forum per la Democrazia (#FvD|ESN): 3,6%
🟩 Partito per gli Animali (#PvdD|LEFT): 3,0%
🟥 Partito Socialista (#SP|Sinistra): 2,8%
🟩 Movimento Civico-Contadino (#BBB|PPE): 2,7%
🟧 Partito Politico Riformato (#SGP|ECR): 2,5%
🟦#DENK|Minoranze etniche: 2,4%
🟦 Unione Cristiana (#CU|Cristiano-democratici): 2,2%
🟪 Volt Paesi Bassi (#Volt|G/EFA): 2,2%
Altri: 1,8%
@TuttoElezioni