作者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/cn.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