Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
⚫️ У правящей партии мысль об европейской интеграции переводится просто: униря. Ткачук рассказал о "проевпропейскости" PAS и Ивана Чебана.
◻️ О PAS:
"Я не верю в проевропейскость правящей партии, потому что это чистая геополитика. ... У нас же теперь всё про геополитику. При этом мы существуем в условиях чрезвычайного положения, в условиях внесудебных санкций и решений, причём секретных, в условиях цензуры. Мы существуем в условиях, когда над Конституцией издеваются, как хотят. Мы существуем в условиях, когда спецслужбам предоставляются права Третьего жандармского управления времён Николая II..."
◻️ О Чебане:
"Его европейская интеграция видна. При всём том, что Чебану иногда хочется бежать впереди паровоза и биться головой об пол, и кричать: "Я свой, я буржуинский!" При этом мы видим определённые проекты, форумы, мероприятия..."
#гражданскийконгресс#congresulcivic
✅Перед выборами Санду обещала лично договариваться о газе.
👉Из предвыборной программы кандидата в президенты Майи Санду:
"Проведу переговоры с Россией с целью разрешения проблем, связанных с поставкой природного газа по конкурентоспособным ценам».
✅Провела? Нет, Санду заявила, что это не её дело, а договариваться должны хозяйствующие субъекты.
🟥Результат известен: за её нарушенное предвыборное обещание и за её геополитические комплексы платим все мы, причём, ежемесячно.
#гражданскийконгресс#congresulcivic
❗️Михаил Полянский, член Исполкома Гражданского конгресса, отмечает, что в Молдове ввели ЧП не из-за долгов, а из-за некомпетентности высшего руководства страны: «Потому что тема аванса, частичной предоплаты за потреблённый газ – это не нововведение».
«Власти просто забыли про условия договора. И если у экономического агента нет денег, то правительство должно вмешаться. Иначе пострадают граждане страны. И тут следует понимать, что государство может сделать всё что угодно (соблюдая законную процедуру): и дать денег экономическому агенту, и одолжить... Только решать вопрос надо вовремя, а не когда сотрудники «Газпрома» уже подошли к вентилю газовой трубы», - пишет Полянский.
▫️Он подчеркнул, что за жизнь и здоровье граждан отвечает не хозяйствующий субъект, а государство.
"Если страна погружается в хаос, то спрашивать, по-моему, нужно именно с властей. Особенно в ситуации, когда по их вине, из-за отсутствия логики в действиях, происходит этот цирк», - подчеркнул он.
#гражданскийконгресс#congresulcivic
💬«Важно понимать, что не существует просто приднестровской проблемы между Кишиневом и Тирасполем, есть вопрос сохранения молдавской государственности и ее независимости.
Для кого это не пустые слова — приднестровский вопрос является принципиальным. Для тех, кому независимость не нужна, Приднестровье — чемодан без ручки, от которого надо избавиться и провести границу по Днестру», - отметил Марк Ткачук, комментируя для Коммерсанта, назначение Олега Серебряна на должность вице-премьера по реинтеграции.
#гражданскийконгресс#congresulcivic
⚡️ «Совершенно не ясно, как долго будет тепло в домах и не окажемся ли мы в условиях двойного чрезвычайного положения. И по газу, и по пандемии.
Так что десяткам тысяч наших граждан, судя по всему, лечить пневмонии придётся в холодных домах и в неотапливаемых больницах. Это фиаско»,
- Михаил Полянский, представителель Исполкома Гражданского конгресса.
#гражданскийконгресс#congresulcivic
◽️ Политическая партия «Гражданский конгресс», которая пытается исповедовать подход нового типа (коллективное действие) после полугодового перерыва оправилась от поражения на выборах и собрала не только представительное мероприятие, но и мириады откликов на него в прессе, передает eNews.
#congresulcivic#гражданскийконгресс
❗️Igor Boțan a participat, la finele anului trecut, la ședința deschisă a plenului Partidului Acțiunii Comune „Congresul Civic”.
Comentând alocuțiunea lui Mark Tkaciuk, el a declarat că „Congresul”, potrivit observațiilor sale, pledează pentru trei importante transformări ale societății moldovenești. Prima dintre ele: cetățenii trebuie să înceapă a administra viața politică, relateaza Tribuna.
#congresulcivic#гражданскийконгресс
🤟"Давайте вместе откажем каким-то людям в возможности жить за наш счёт! То есть, быть каннибалами в социальном смысле! Давайте учиться проявлять солидарность не только по политическому признаку"
#congresulcivic#гражданскийконгресс
👉Результат «Гражданского конгресса» на парламентских выборах Иван Грек объяснил тем, что «наш избиратель, давно расфасованный по геополитическим корзинам, никак не может быстро и решительно обратить свой взор на тех, кто предлагает ему взглянуть на самих себя, на свое государство, на его и свое будущее».
#гражданскийконгресс#congresulcivic
⚡️Гражданский Конгресс заявляет: больше человеческих жертвоприношений быть не должно. Мы считаем, что мы – граждане Молдовы – приносим эти жертвы не от того, что мы бедные.
А мы бедные от того, что готовы всякий раз поступиться самым дорогим, чем нас наградила природа и история – жизнью и социальной свободой.
#congresulcivic#гражданскийконгресс