作者ponwar87123 (干我屁事喔北七)
看板Python
標題[問題] 匹配字串中幾種可能(找副檔名)
時間Sat Jul 21 12:26:18 2018
標題可能寫得有點文言文XD
簡單來說,我想寫一個找到某個目錄中所有的圖檔
那麼圖檔的副檔名就有很多種了,例如jpg,jpeg,bmp,png,gif等等
那麼我應該怎麼找到這些呢?
我用re.compile(r'.*\.[(jpg)(png)]')沒辦法找到,他仍然把當作一6個字符來找,所以多無關緊要的檔案都被算在裡面
最後是做一個list裡面存副檔名用for去跑
但覺得這樣會拖慢程式速度,
各位高手有解嗎~?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.186.223
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1532147180.A.AF4.html
1F:→ TakiDog: list不用for // if 副檔名 in list 07/21 12:31
抱歉,我可能沒說清楚
我的List存的是.png .jpg
然後整個程式碼邏輯是這樣:
for 副檔名 in list:
if 副檔名 in filename:
print(true)
其中filename為字串,用for一個一個取副檔名類別去做匹配
但擔心這樣程式執行效率差,不知道有無更好的做法~
※ 編輯: ponwar87123 (114.36.186.223), 07/21/2018 12:38:15
2F:推 guaptpan: re的pattern寫成’.*\.(jpg|bmp|png)’呢? 07/21 12:40
3F:→ guaptpan: 裡面副檔名可以自己加上去 07/21 12:40
4F:推 coeric: 樓上正解,用 | 來分隔 07/21 12:46
謝謝各位,已經可以解決了!!
※ 編輯: ponwar87123 (114.36.186.223), 07/21/2018 12:54:58
5F:推 mychiux413: 建議你先name, ext = os.path.splitext(filename) 07/24 22:38
6F:→ mychiux413: 這樣才不會搜到'~/dir/av.jpgood.mp4'這種檔案 07/24 22:40
7F:→ mychiux413: ext是分離出的附檔名 07/24 22:42