diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2018-12-20 17:00:14 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-20 17:00:14 (GMT) |
commit | c5d5dfdb223efb0e668e3f317d31b8b70ae96aa6 (patch) | |
tree | 75d656ef90a71f12cdf8b9cdbbaeaf3b4c341156 /Lib/distutils/archive_util.py | |
parent | 71f82a2f2085464f5ec99c16bce57bd1631733bd (diff) | |
download | cpython-c5d5dfdb223efb0e668e3f317d31b8b70ae96aa6.zip cpython-c5d5dfdb223efb0e668e3f317d31b8b70ae96aa6.tar.gz cpython-c5d5dfdb223efb0e668e3f317d31b8b70ae96aa6.tar.bz2 |
bpo-22831: Use "with" to avoid possible fd leaks in distutils. (GH-10921)
Diffstat (limited to 'Lib/distutils/archive_util.py')
-rw-r--r-- | Lib/distutils/archive_util.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Lib/distutils/archive_util.py b/Lib/distutils/archive_util.py index b002dc3..565a311 100644 --- a/Lib/distutils/archive_util.py +++ b/Lib/distutils/archive_util.py @@ -166,21 +166,21 @@ def make_zipfile(base_name, base_dir, verbose=0, dry_run=0): zip = zipfile.ZipFile(zip_filename, "w", compression=zipfile.ZIP_STORED) - if base_dir != os.curdir: - path = os.path.normpath(os.path.join(base_dir, '')) - zip.write(path, path) - log.info("adding '%s'", path) - for dirpath, dirnames, filenames in os.walk(base_dir): - for name in dirnames: - path = os.path.normpath(os.path.join(dirpath, name, '')) + with zip: + if base_dir != os.curdir: + path = os.path.normpath(os.path.join(base_dir, '')) zip.write(path, path) log.info("adding '%s'", path) - for name in filenames: - path = os.path.normpath(os.path.join(dirpath, name)) - if os.path.isfile(path): + for dirpath, dirnames, filenames in os.walk(base_dir): + for name in dirnames: + path = os.path.normpath(os.path.join(dirpath, name, '')) zip.write(path, path) log.info("adding '%s'", path) - zip.close() + for name in filenames: + path = os.path.normpath(os.path.join(dirpath, name)) + if os.path.isfile(path): + zip.write(path, path) + log.info("adding '%s'", path) return zip_filename |