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