Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c98b26a

Browse files
Issue #25596: Falls back to listdir in glob for bytes paths on Windows.
1 parent 1de1a6a commit c98b26a

1 file changed

Lines changed: 16 additions & 7 deletions

File tree

Lib/glob.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,22 @@ def _iterdir(dirname, dironly):
118118
else:
119119
dirname = os.curdir
120120
try:
121-
with os.scandir(dirname) as it:
122-
for entry in it:
123-
try:
124-
if not dironly or entry.is_dir():
125-
yield entry.name
126-
except OSError:
127-
pass
121+
if os.name == 'nt' and isinstance(dirname, bytes):
122+
names = os.listdir(dirname)
123+
if dironly:
124+
for name in names:
125+
if os.path.isdir(os.path.join(dirname, name)):
126+
yield name
127+
else:
128+
yield from names
129+
else:
130+
with os.scandir(dirname) as it:
131+
for entry in it:
132+
try:
133+
if not dironly or entry.is_dir():
134+
yield entry.name
135+
except OSError:
136+
pass
128137
except OSError:
129138
return
130139

0 commit comments

Comments
 (0)