TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #22 · 19 јан.

Заметка начинающим, которые часто сталкиваются с подобной непоняткой. Ситуация следующая, есть список файлов: 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #vigiluk

当前筛选 #vigiluk清除筛选

🕯 六四悼念晚會|英國各地 📍 6 月 4 日,英國多個城市將會舉行六四悼念晚會。 喺呢個重要日子,一齊用燭光紀念歷史、悼念死難者,堅持真相,延續記憶,守護言論與集會自由。 誠邀大家出席所在地區嘅悼念活動,與港人同行,守護良知。 📌 各地活動詳情,請以主辦單位公布為準。 (我哋亦整理咗主要場地嘅資訊,見下一張圖/Story) #六四#六四晚會#六四36周年#移英港人#英國港人#毋忘六四 🕯 June 4 Vigil | Across the UK 📍 On June 4, vigils will be held across various cities in the UK to commemorate the Tiananmen Massacre. We invite all Hongkongers and supporters to join these gatherings — to honour the fallen, defend the truth, and carry the memory forward. 📌 Please refer to the respective organisers for final event details. (We’ve compiled the key locations — check the next image / Story ) #June4#TiananmenMassacre#VigilUK#HongKongersInUK#NeverForget#Democracy *** ✏️有英國國會聯署任務,你簽咗未? 1⃣BNO平權聯署 ✅ 2⃣「外國影響力登記計劃」中 列明中國與香港為「進階級別」聯署✅ ✏️如果有諗法想講,㩒入嚟一齊傾📝 🇬🇧除咗生活,一個仲會講抗爭嘅英國公海。