我正在尝试存档2个文件,但不存档导致这两个文件的完整路径。希望有人可以指出我正确的方向:
我的目录结构如下。我只有两个我要备份的文件。
/tmp
my_stuff
-hello.html
-hello2.html
因此,根据文档,shutil.make_archive可以压缩整个目录。我使用以下命令:
shutil.make_archive( base_name = '/tmp/package',
format = 'zip',
root_dir = '/tmp/my_stuff',
base_dir = '/tmp/my_stuff' )
此命令成功创建了zip文件,但是当我从“/ tmp文件夹”中解压缩package.zip时,我得到以下内容:
➜ /tmp unzip package.zip
Archive: package.zip
creating: tmp/my_stuff
inflating: tmp/my_stuff/hello.html
inflating: tmp/my_stuff/hello2.html
它在tmp中创建一个重复的“tmp”和一个名为my_stuff的新文件夹和2个文件。我想要的只是它提取两个文件(没有目录)。任何建议将不胜感激。
由于
答案 0 :(得分:3)
要创建没有任何目录的单元,您需要更改base_dir:
shutil.make_archive( base_name = '/tmp/package',
format = 'zip',
root_dir = '/tmp/my_stuff',
base_dir = './' )