Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
Referendum giustizia, #AVS ha detto che riserverà agli elettori fuorisede i propri posti per ricoprire il ruolo di rappresentanti di lista ai seggi, in modo che possano votare nel seggio al quale sono assegnati, anche se diverso da quello in cui sono residenti. (ilPost)
@UltimoraPolitics24
#AI#AVs
Помимо сильного положительного влияния на роботов, развитие LLM также хорошо влияет на развитие автономных технологий в грузо- и пассажироперпвозках. Поэтому инвестиции в компании разрабатывающие беспилотные авто и грузовики это тоже ахуенная тема.
Тейки все такие же. И про снижение себестоимости тоже при росте объемов беспилотных машин в автопарках компаний-операторов грузо- и пассажироперевозок.
Скрины в этом посте из того же репорта BofA, что прикреплен выше. В посте ниже ща закину репорт Goldman Sachs по AVs где больше прогнозов по кол-ву машин, penetration в существующий автопарк и прогноз себестоимости производства AVs
Из таких компаний держу Pony AI и WeRide
La #Camera approva con 299 sì la risoluzione di maggioranza che impegna il governo a "evitare che arrivino fondi ad Hamas che siano utilizzati per finanziare attacchi terroristici e incitare all'odio verso Israele". Approvate anche le tre risoluzioni presentate dalle opposizioni, con lo stralcio (in quella di #M5S-#PD-#AVS) della parte relativa all'insediamento dei coloni in Cisgiordania
@UltimoraPolitics
No all'introduzione del salario minimo: la #Camera approva la mozione di maggioranza con 163 voti a favore, 121 no (#M5S, #PD e #AVS) e 19 astenuti (Terzo Polo). Respinti i testi delle opposizioni
@UltimoraPolitics
Decreto Pa 2, il governo ritira l'emendamento che introduceva cinque dipartimenti al Ministero della Cultura. Esultano #PD, #M5S, #Azione e #AVS.
@UltimoraPolitics
Aboubakar #Soumahoro (#AVS) lancia un appello a tutti i partiti di opposizione: "Saliamo sulle navi dei migranti, per far valere i principi di umanità racchiusi nella nostra bella e attuale Carta costituzionale"
@UltimoraPolitics
Il tribunale di Catania accoglie il ricorso di un migrante, sbarcato a Lampedusa e portato nel Cpr di Pozzallo, giudicando il recente decreto del governo "illegittimo in più parti": i giudici contestano la nuova procedura di trattenimento e la cauzione da circa 5.000 euro da pagare per non andare nel centro. #FdI: "Decisione politica e ideologica". #Bonelli (#AVS): "Meloni porta avanti una campagna di distrazione di massa che punta a trasformarla in vittima di un complotto per nascondere le sue incapacità"
@UltimoraPolitics
#Senato
Approvate le risoluzioni di maggioranza, PD e Terzo Polo, alle comunicazioni del ministro della Difesa, Guido #Crosetto, sul rinnovo dell'autorizzazione all'invio di mezzi militari all'Ucraina. La prima ha ottenuto 143 sì, 29 no e un astenuto. Le altre due 144 voti favorevoli e 28 contrari. Le risoluzioni di #AVS e #M5S non sono state votate
@UltimoraPolitics
Confermata in Cassazione la condanna a un anno e sei mesi inflitta per un reato di falso dalla Corte d'appello di Reggio Calabria nell'ottobre 2023 a Mimmo #Lucano, ex sindaco di Riace, oggi eurodeputato nelle liste di #AVS
@UltimoraPolitics
#Camera
Scontro tra #Meloni e Angelo #Bonelli (#AVS), che ha mostrato due sassi raccolti dal letto del fiume Adige in secca per criticare il governo sul modo con cui sta gestendo il problema della siccità nel Nord Italia. La premier replica: "Non sono Mosè"
@UltimoraPolitics