diff options
| -rw-r--r-- | Lib/glob.py | 23 | 
1 files changed, 16 insertions, 7 deletions
| diff --git a/Lib/glob.py b/Lib/glob.py index 002cd92019..7c3cccb740 100644 --- a/Lib/glob.py +++ b/Lib/glob.py @@ -118,13 +118,22 @@ def _iterdir(dirname, dironly):          else:              dirname = os.curdir      try: -        with os.scandir(dirname) as it: -            for entry in it: -                try: -                    if not dironly or entry.is_dir(): -                        yield entry.name -                except OSError: -                    pass +        if os.name == 'nt' and isinstance(dirname, bytes): +            names = os.listdir(dirname) +            if dironly: +                for name in names: +                    if os.path.isdir(os.path.join(dirname, name)): +                        yield name +            else: +                yield from names +        else: +            with os.scandir(dirname) as it: +                for entry in it: +                    try: +                        if not dironly or entry.is_dir(): +                            yield entry.name +                    except OSError: +                        pass      except OSError:          return | 
