Python中区分大小写的文件路径匹配

时间:2019-03-08 06:47:37

标签: python-3.x directory

我有一个具有此路径的目录

  

Al Furjan / Al Furjan 2D 3D / 3D / AZIZI tulip / file.jpg

我有另一个csv,我正在从中创建路径,并且路径变成这样

  

Al Furjan / Al Furjan 2D 3D / 3D / AZIZI Tulip / file.jpg

我正在生成的路径具有 T 大写字母,但实际目录具有 small t 。我如何使用python解决这个问题,因为它在搜索路径时会忽略大小写。

1 个答案:

答案 0 :(得分:0)

您可以将fnmatchreos结合使用:

import os
import fnmatch
import re

# translate the file name in a pattern
regex = fnmatch.translate('testit/testIT/testIT.txt')

# compile a case insensitive version of your this pattern
rec = re.compile(regex, re.IGNORECASE)

def listallfiles(path):
    for (dirpath, dirnames, filenames) in os.walk(path):
        for f in filenames:
            yield(os.path.relpath(os.path.join(dirpath, f)))

found = [i for i in listallfiles('.') if rec.match(i)] 

print(found)