Ich bin über glob.glob () gestolpert, machen Sie sich also eine Notiz.
Mit glob.glob () kann der Pfad einschließlich [] nicht abgerufen werden.
Beispiel
glob.glob(r"d:\test\[1].*") 
#=> [1].Stimmt nicht mit txt überein
glob.glob(r"d:\test\\[1\].*") # \[ \]Du kannst nicht schreiben
[ -> [[]
] -> []]
glob.glob(r"d:\test\[[]1[]].*") 
#=> [1].Entspricht txt
Sie können auch die folgende Funktion anstelle von glob.glob () verwenden.
def escapeBraceForGlob(str):
    '''
    convert [ -> [[]  ,  ] -> []]
    '''
    newStr = str.replace("[","\\[").replace("]","\\]")
    newStr = newStr.replace("\\[","[[]").replace("\\]","[]]")
    return newStr
def globEscapeBraces(pathname):
    '''
    glob.glob() after escaping "[" and "]".
    '''
    return glob.glob(escapeBraceForGlob(pathname))
Recommended Posts