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