Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
Description
Bug report
In python 3.10+, shutil.make_archive() makes empty archive file and does not raise any error even when root_dir does not exists.
In python -3.9, FileNotFoundError is raised with message[Errno 2] No such file or directory: ‘xxxxxxx’
.
import shutilshutil.make_archive(base_name='aaa_archive', root_dir="not_existing_dir", format="zip")# This will raise FileNotFoundError in python ~3.9, where it doesn’t in 3.10~
I though making empty archive file is unnatural, so fixing it maybe good for backward compatibility.
I think this problem is caused in this line, whereos.chdir(root_dir)
is not called anymore.
In the previous code,os.chdir(root_dir)
will raise FileNotFoundError when root_dir does not exists.
https://github.com/python/cpython/pull/93160/files#diff-db8ac59326160713929e0e1973aef54f0280fe9f154ef24d14244909a0e0689bL1084
I thought checking the existence of root_dir and raise FileNotFoundError when root_dir is not found, might be a good implementation to fix this problem.