mirror of https://github.com/python/cpython.git
Issue #25596: Falls back to listdir in glob for bytes paths on Windows.
This commit is contained in:
parent
1de1a6a2dc
commit
c98b26a6ac
23
Lib/glob.py
23
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
|
||||
|
||||
|
|
Loading…
Reference in New Issue