shutil.make_archive问题 - 不希望zip文件中包含目录

时间:2017-01-12 23:20:07

标签: python zip shutil

我正在尝试存档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个文件。我想要的只是它提取两个文件(没有目录)。任何建议将不胜感激。

由于

1 个答案:

答案 0 :(得分:3)

要创建没有任何目录的单元,您需要更改base_dir:

shutil.make_archive( base_name =  '/tmp/package',
                     format    =  'zip',
                     root_dir  =  '/tmp/my_stuff', 
                     base_dir  =  './' )