From: Guido van Rossum Date: Sun, 12 Jan 1992 23:32:11 +0000 (+0000) Subject: Never return a non-existing pathname. X-Git-Tag: v0.9.8~609 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c2ef5c2dede30e147a5a82f285d2510c9ca853a0;p=thirdparty%2FPython%2Fcpython.git Never return a non-existing pathname. Rewrote has_magic using a regular expression match. --- diff --git a/Lib/glob.py b/Lib/glob.py index 354af390a780..bacaf183e1f6 100644 --- a/Lib/glob.py +++ b/Lib/glob.py @@ -2,10 +2,15 @@ import os import fnmatch +import regex def glob(pathname): - if not has_magic(pathname): return [pathname] + if not has_magic(pathname): + if os.path.exists(pathname): + return [pathname] + else: + return [] dirname, basename = os.path.split(pathname) if has_magic(dirname): list = glob(dirname) @@ -34,9 +39,13 @@ def glob1(dirname, pattern): return [] result = [] for name in names: - if name[0] <> '.' or pattern[0] == '.': - if fnmatch.fnmatch(name, pattern): result.append(name) + if name[0] != '.' or pattern[0] == '.': + if fnmatch.fnmatch(name, pattern): + result.append(name) return result + +magic_check = regex.compile('[*?[]') + def has_magic(s): - return '*' in s or '?' in s or '[' in s + return magic_check.search(s) >= 0