Заметка начинающим, которые часто сталкиваются с подобной непоняткой.
Ситуация следующая, есть список файлов:
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
#GSTRateChange Consumers who come across cases of unjustified price increases of essential goods or services that use the GST increase as a cover can provide their feedback to the Committee Against Profiteering (CAP) at www.cap.gov.sg/shareyourfeedback. All feedback submitted will be reviewed by CAP, and further investigated if necessary, to identify businesses that may have engaged in unjustified price increases on the pretext of the GST increase.
For more information, please visit CAP’s website.
#GSTRateChange Only GST-registered businesses can charge GST from their effective date of GST registration. You can check if a business is GST-registered at https://go.gov.sg/gst-registered-business-search.
Non-GST registered businesses are not allowed to charge GST.
#GSTRateChange Do you know how much GST will be charged, for transactions that span the rate change? It all depends on when the invoice is issued, whether payment is made and if the goods/services have been delivered/performed. Read on for some scenarios you might find yourself in!
👉🏼More info on the transitional rules for the rate change
#GSTRateChange From 1 Jan 2024, you should see price displays from GST-registered businesses, with GST charged at 9%. Prices that are quoted, whether written or verbal, should be GST-inclusive so that you know the final price pay upfront.
👉🏼 Click here for more info on price displays
#GSTRateChange With the second step of the GST rate change approaching, IRAS reminds all businesses to ensure that their systems are ready to incorporate the new 9% GST rate with effect from 1 Jan 2024 and to take active steps to avoid rate change errors during implementation.
👉🏼Click here for more on getting your business ready for the second rate change and common rate change errors to avoid
#GSTRateChange Businesses are strongly encouraged to start preparation early for a smooth transition to the GST rate of 9% on 1 Jan 2024. Here are 3 main things for businesses to do, ahead of the second GST rate change.
👉🏼Click here for more information on preparing for the rate change
#GSTRateChange PSA: Only GST-registered businesses can charge GST from their effective date of GST registration. You can check if a business is GST-registered at https://go.gov.sg/gst-registered-business-search.
Non-GST registered businesses are not allowed to charge GST.
#GSTRateChange Do you know how much GST will be charged, for transactions that span the rate change? It all depends on when the invoice is issued, whether payment is made and if the goods/services have been delivered/performed. Read on for some scenarios you might find yourself in!
👉🏼Click here for more info on the transitional rules for the rate change
#GSTRateChange Heading to the 24-hour store to grab some post-NYE party essentials in the wee hours of 1 Jan 2024? #DidYouKnow that you may only be charged GST at 8% on your purchase, if it is the supplier’s normal accounting practice to treat sales made after midnight as sales of the preceding day!
👉🏼Click here for more info on the transitional rules for the rate change
#GSTRateChange Making a run to the 24-hour store in the wee hours of 1 Jan?#DidYouKnow you may only be charged GST at 7% on your purchase, if it is the supplier’s normal accounting practice to treat sales made after midnight as sales of the preceding day!
👉🏼 Click here for more info on the transitional rules for the rate change
Navigate the right GST rate to pay for transactions spanning the rate change with new mummy and her bestie! 💁♀️💡
A transaction is considered to span the GST rate change if one or two of the following events takes place wholly or partially on/after 1 Jan 2024:
- The issuance of invoice by supplier
- The receipt of payment by supplier
- The delivery of goods or performance of services
More info at go.gov.sg/irasgst-rc-consumers
#GST#GSTRateChange#skit#iras#irassg
🎵 We carry through, do what we need to do~ Yes, I’m a GST-registered business just like you 🎵
Here are 3 key things GST-registered businesses need to prepare for the 2024 GST rate change:
1) Update systems to incorporate 9% GST from 1 Jan 2024
2) Prepare price displays to reflect 9% GST from 1 Jan 2024
3) Understand transitional rules to apply the correct GST rate for transactions spanning 1 Jan 2024
Learn more at go.gov.sg/irasgst-rc-businesses
#GST#GSTRateChange#iamjustlikeyou#iras#irassg