Je suis tombé sur glob.glob (), alors prenez note.
Avec glob.glob (), le chemin comprenant [] ne peut pas être obtenu.
Exemple
glob.glob(r"d:\test\[1].*")
#=> [1].Ne correspond pas au txt
glob.glob(r"d:\test\\[1\].*") # \[ \]Tu ne peux pas écrire
[ -> [[]
] -> []]
glob.glob(r"d:\test\[[]1[]].*")
#=> [1].Correspond au txt
Vous pouvez également utiliser la fonction suivante au lieu de glob.glob ().
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