2017-01-12 13 views
1

Я пытаюсь архивировать 2 файла, но не полный путь, ведущий к двум файлам. Надеюсь, кто-то может указать мне в правильном направлении:shutil.make_archive issue - не хочу, чтобы каталоги включались в zip-файл

Моя структура каталогов выглядит следующим образом. У меня есть только два файла, которые я хочу скопировать.

/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') 

Эта команда успешно создает файл почтового индекса, однако когда я делаю «распаковать package.zip из папки/TMP», я получаю следующее:

➜ /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 файла. Все, что я хочу, - это извлечь два файла (без каталогов). Любой совет будет принят во внимание.

Благодаря

ответ

3

Чтобы создать квартиру без каких-либо каталогов, вам необходимо изменить base_dir:

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

Это работало. Спасибо! – webghost