From: Tim Peters Date: Sat, 26 Apr 2003 00:53:24 +0000 (+0000) Subject: Use os.walk() to find files to delete. X-Git-Tag: v2.3c1~965 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8b7beb631bd34bbc7d17e8f7e7256ee076a3e381;p=thirdparty%2FPython%2Fcpython.git Use os.walk() to find files to delete. --- diff --git a/PCbuild/rmpyc.py b/PCbuild/rmpyc.py index 019c69b16e79..43c8576e798d 100644 --- a/PCbuild/rmpyc.py +++ b/PCbuild/rmpyc.py @@ -1,23 +1,24 @@ # Remove all the .pyc and .pyo files under ../Lib. + def deltree(root): import os - def rm(path): - os.unlink(path) + from os.path import join + npyc = npyo = 0 - dirs = [root] - while dirs: - dir = dirs.pop() - for short in os.listdir(dir): - full = os.path.join(dir, short) - if os.path.isdir(full): - dirs.append(full) - elif short.endswith(".pyc"): + for root, dirs, files in os.walk(root): + for name in files: + delete = False + if name.endswith('.pyc'): + delete = True npyc += 1 - rm(full) - elif short.endswith(".pyo"): + elif name.endswith('.pyo'): + delete = True npyo += 1 - rm(full) + + if delete: + os.remove(join(root, name)) + return npyc, npyo npyc, npyo = deltree("../Lib")