changeset: 103211:48e573e0a610 user: Serhiy Storchaka date: Wed Sep 07 09:49:42 2016 +0300 files: Lib/glob.py description: Issue #25596: Falls back to listdir in glob for bytes paths on Windows. diff -r 1705cde6266d -r 48e573e0a610 Lib/glob.py --- a/Lib/glob.py Tue Sep 06 21:13:15 2016 -0700 +++ b/Lib/glob.py Wed Sep 07 09:49:42 2016 +0300 @@ -118,13 +118,22 @@ 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