如何在Python中查找具有特定不区分大小写扩展名的文件

如何在Python中查找具有特定不区分大小写扩展名的文件,python,file,find,case-insensitive,Python,File,Find,Case Insensitive,glob.glob()区分大小写。 有没有简单的方法可以在Python中查找具有特定不区分大小写扩展名的文件。与glob模块相比,该模块提供了对模式匹配的更多控制: 您还可以使用后跟正则表达式匹配: >>> import os, re >>> [filename for filename in os.listdir('.') if re.search(r'\.py$', filename, re.IGNORECASE)] 这应该

glob.glob()
区分大小写。
有没有简单的方法可以在Python中查找具有特定不区分大小写扩展名的文件。

与glob模块相比,该模块提供了对模式匹配的更多控制:

您还可以使用后跟正则表达式匹配:

>>> import os, re
>>> [filename for filename in os.listdir('.') 
              if re.search(r'\.py$', filename, re.IGNORECASE)]

这应该可以做到:

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'])

不要忘记用小写指定扩展名列表。

如果主机操作系统不区分大小写怎么办?@Abhijit执行不区分大小写的搜索以查找实际文件名,然后将实际文件名与原始文件名一起使用。
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'])