看板 Python 關於我們 聯絡資訊
標題可能寫得有點文言文XD 簡單來說,我想寫一個找到某個目錄中所有的圖檔 那麼圖檔的副檔名就有很多種了,例如jpg,jpeg,bmp,png,gif等等 那麼我應該怎麼找到這些呢? 我用re.compile(r'.*\.[(jpg)(png)]')沒辦法找到,他仍然把當作一6個字符來找,所以多無關緊要的檔案都被算在裡面 最後是做一個list裡面存副檔名用for去跑 但覺得這樣會拖慢程式速度, 各位高手有解嗎~? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.186.223 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1532147180.A.AF4.html
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
guaptpan: re的pattern寫成’.*\.(jpg|bmp|png)’呢? 07/21 12:40
guaptpan: 裡面副檔名可以自己加上去 07/21 12:40
coeric: 樓上正解,用 | 來分隔 07/21 12:46
謝謝各位,已經可以解決了!! ※ 編輯: ponwar87123 (114.36.186.223), 07/21/2018 12:54:58
mychiux413: 建議你先name, ext = os.path.splitext(filename) 07/24 22:38
mychiux413: 這樣才不會搜到'~/dir/av.jpgood.mp4'這種檔案 07/24 22:40
mychiux413: ext是分離出的附檔名 07/24 22:42