Python. Как создать архив из папки и / или файла [дубликат]

Вот некоторые подходы к работе с асинхронными запросами:
  1. Объект обезьяны браузера
  2. Q - A
  3. A + Promises.js
  4. jQuery отложен
  5. API XMLHttpRequest
  6. Использование концепции обратного вызова - как реализация в первом ответе

Пример: jQuery отложенная реализация для работы с несколькими запросами

var App = App || {};

App = {
    getDataFromServer: function(){

      var self = this,
                 deferred = $.Deferred(),
                 requests = [];

      requests.push($.getJSON('request/ajax/url/1'));
      requests.push($.getJSON('request/ajax/url/2'));

      $.when.apply(jQuery, requests).done(function(xhrResponse) {
        return deferred.resolve(xhrResponse.result);
      });
      return deferred;
    },

    init: function(){

        this.getDataFromServer().done(_.bind(function(resp1, resp2) {

           // Do the operations which you wanted to do when you
           // get a response from Ajax, for example, log response.
        }, this));
    }
};
App.init();
1
задан minerals 5 May 2015 в 09:32
поделиться

3 ответа

shutil не может создать архив из одного файла. Вместо этого вы можете использовать tarfile:

tar = tarfile.open(fname + ".tar.gz", 'w:qz')
os.chdir('/home/user')
tar.add("file.txt")
tar.close()

или

tar = tarfile.open(fname + ".tar.gz", 'w:qz')
tar.addfile(tarfile.TarInfo("/home/user/file.txt"), "/home/user/file.txt")
tar.close()
1
ответ дан pedromanoel 28 August 2018 в 16:01
поделиться

Попробуйте это и проверите shutil

скопируйте файл в каталог.

cd directory

shutil.make_archive('gzipped', 'gztar', os.getcwd())
1
ответ дан Ajay 28 August 2018 в 16:01
поделиться

Фактически shutil.make_archive может создавать однофайльный архив! Просто перейдите к целевому каталогу как root_dir и укажите имя файла как base_dir.

Попробуйте следующее:

import shutil

file_to_zip = 'test.txt'            # file to zip
target_path = 'C:\\test_yard\\'     # dir, where file is

try:
    shutil.make_archive('archive', 'zip', target_path, file_to_zip)
except OSError:
    pass
2
ответ дан CommonSense 28 August 2018 в 16:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: