Puoi sostituire ogni carattere alfabetico c con [cC], tramite
import glob
def insensitive_glob(pattern):
def either(c):
return '[%s%s]' % (c.lower(), c.upper()) if c.isalpha() else c
return glob.glob(''.join(map(either, pattern)))
Usa espressioni regolari senza distinzione tra maiuscole e minuscole invece di modelli glob. fnmatch.translate
genera una regex da un pattern glob, quindi
re.compile(fnmatch.translate(pattern), re.IGNORECASE)
fornisce una versione senza distinzione tra maiuscole e minuscole di un pattern glob come RE compilata.
Tieni presente che, se il filesystem è ospitato da una macchina Linux su un filesystem simile a Unix, gli utenti saranno in grado di creare file foo
, Foo
e FOO
nella stessa directory.