Issue #19629: Fix support.rmtree(), use os.lstat() to check if the file is a

directory, not os.path.isdir()
This commit is contained in:
Victor Stinner 2014-07-21 19:18:12 +02:00
parent 0dee8ad579
commit 67f8706521
1 changed files with 7 additions and 1 deletions

View File

@ -316,7 +316,13 @@ if sys.platform.startswith("win"):
def _rmtree_inner(path):
for name in os.listdir(path):
fullname = os.path.join(path, name)
if os.path.isdir(fullname):
try:
mode = os.lstat(fullname).st_mode
except OSError as exc:
print("support.rmtree(): os.lstat(%r) failed with %s" % (fullname, exc),
file=sys.__stderr__)
mode = 0
if stat.S_ISDIR(mode):
_waitfor(_rmtree_inner, fullname, waitall=True)
os.rmdir(fullname)
else: