glob.glob()
区分大小写
有没有简单的方法可以在Python中查找具有特定区分大小写扩展名的文件。
答案 0 :(得分:11)
fnmatch模块提供了对模式匹配的更多控制,而不是 glob 模块:
>>> import os
>>> from fnmatch import filter
>>> filter(os.listdir('.'), '*.[Pp][Yy]')
您还可以使用os.listdir(),然后使用正则表达式匹配:
>>> import os, re
>>> [filename for filename in os.listdir('.')
if re.search(r'\.py$', filename, re.IGNORECASE)]
答案 1 :(得分:5)
这应该可以解决问题:
import os
import glob
def find_case_insensitve(dirname, extensions):
for filename in glob.glob(dirname):
base, ext = os.path.splitext(filename)
if ext.lower() in extensions:
print filename
find_case_insensitve('/home/anthon/Desktop/*', ['.jpeg', '.png', '.jpg'])
不要忘记以小写形式指定扩展名列表。