diff options
author | Hynek Schlawack <hs@ox.cx> | 2012-12-27 09:10:11 (GMT) |
---|---|---|
committer | Hynek Schlawack <hs@ox.cx> | 2012-12-27 09:10:11 (GMT) |
commit | e26568f81244e3fb62ab07fd0a3405a99ee87895 (patch) | |
tree | 86fbc0d5c0e1fec053211cfa7087dd7a211e0514 /Lib/glob.py | |
parent | 57a1233110ad9eed3c2e687323a161281d1526aa (diff) | |
download | cpython-e26568f81244e3fb62ab07fd0a3405a99ee87895.zip cpython-e26568f81244e3fb62ab07fd0a3405a99ee87895.tar.gz cpython-e26568f81244e3fb62ab07fd0a3405a99ee87895.tar.bz2 |
#16618: Make glob.glob match consistently across strings and bytes
Fixes handling of leading dots.
Patch by Serhiy Storchaka.
Diffstat (limited to 'Lib/glob.py')
-rw-r--r-- | Lib/glob.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Lib/glob.py b/Lib/glob.py index 58888d6..f16e8e1 100644 --- a/Lib/glob.py +++ b/Lib/glob.py @@ -58,8 +58,8 @@ def glob1(dirname, pattern): names = os.listdir(dirname) except os.error: return [] - if pattern[0] != '.': - names = [x for x in names if x[0] != '.'] + if not _ishidden(pattern): + names = [x for x in names if not _ishidden(x)] return fnmatch.filter(names, pattern) def glob0(dirname, basename): @@ -83,3 +83,6 @@ def has_magic(s): else: match = magic_check.search(s) return match is not None + +def _ishidden(path): + return path[0] in ('.', b'.'[0]) |