2017-02-11 3 views

ответ

0

Вы можете сделать это в два этапа. Сначала распакуйте файл .7z, а затем сжимайте содержимое в zip-файл.

распаковывать .7z файл

from lib7zip import Archive, formats 

with Archive('filename.7z') as archive: 
    # extract all items to the directory 
    # directory will be created if it doesn't exist 
    archive.extract('directory') 

Ссылка: https://github.com/harvimt/pylib7zip

Сжать в почтовый файл

#!/usr/bin/env python 
import os 
import zipfile 

def zipdir(path, ziph): 
    # ziph is zipfile handle 
    for root, dirs, files in os.walk(path): 
     for file in files: 
      ziph.write(os.path.join(root, file)) 

if __name__ == '__main__': 
    zipf = zipfile.ZipFile('file.zip', 'w', zipfile.ZIP_DEFLATED) 
    zipdir('tmp/', zipf) 
    zipf.close()