2016-02-15 3 views
0

У меня есть этот кодzipfile.ZipFile только извлекая одну папку

def downloadupdate(): 
    url = 'http://myurl.com/o/test/list.zip' 
    destination = xbmc.translatePath('special://home/userdata/addon_data/iupdatefix/Super.zip') 
    urllib.urlretrieve(url,destination) 
    time.sleep(40) 

    updatezip = xbmc.translatePath('special://home/userdata/addon_data/iupdatefix/Super.zip') 
    extractupdate = xbmc.translatePath('special://home/userdata/addon_data/plugin.program.test/') 
    oldfav = xbmc.translatePath('special://home/userdata/addon_data/plugin.program.test/test') 
    yeszip = os.path.exists(updatezip) 
    shutil.rmtree(oldfav, ignore_errors=False) 
    time.sleep(10) 
    if yeszip: 
     gh = open(updatezip, 'rb') 
     zp = zipfile.ZipFile(gh) 
     for name in zp.namelist(): 
      zp.extract(name, extractupdate) 
      gh.close() 
      time.sleep(3) 
    else: 
     xbmc.executebuiltin("Notification(some text, sometext,()") 

downloadupdate() 

почтового индекс загрузка файлов правильно почтовый файл сохраняет в правильном месте в удалениях правильно внутри super.zip есть 12 каталогов и в каждый, если эти двенадцать каталогов - файл test.txt Когда я извлекаю Super.zip, он извлекает только один из двенадцати каталогов и извлеченный каталог пуст. Может быть, мне нужно как-то остановить или закрыть процесс закрытия? и как его извлечение, его стирают в то же время затворным? Не мог бы кто-нибудь пролить свет на мою ошибку здесь, пожалуйста. Thankyou

+0

Без тестирования, жесткий, чтобы увидеть, что происходит. Тем не менее, вы пытаетесь использовать 'zp.extractall (путь, pwd)' вместо выделения. Я не вижу, где вы устанавливаете текущий рабочий каталог, поэтому есть хороший шанс, что он извлекает все, что есть. https://hg.python.org/cpython/file/2.7/Lib/zipfile.py#l1030 – David

+0

http://stackoverflow.com/questions/19483775/python-zipfile-extract-doesnt-extract-all-files возможно решение –

ответ

0

нормально, так что теперь работает ThankYou Давидовом Гириш

def downloadupdate(): 
    url = 'http://myurl.com/o/test/list.zip' 
    destination = xbmc.translatePath('special://home/userdata/addon_data/iupdatefix/Super.zip') 
    urllib.urlretrieve(url,destination) 
    time.sleep(40) 

    updatezip = xbmc.translatePath('special://home/userdata/addon_data/iupdatefix/Super.zip') 
    extractupdate = xbmc.translatePath('special://home/userdata/addon_data/plugin.program.test/') 
    oldfav = xbmc.translatePath('special://home/userdata/addon_data/plugin.program.test/test') 
    yeszip = os.path.exists(updatezip) 
    shutil.rmtree(oldfav, ignore_errors=False) 
    time.sleep(10) 
    if yeszip: 
     gh = open(updatezip, 'rb') 
     zp = zipfile.ZipFile(gh) 
     zp.extractall(extractupdate) 
     gh.close() 
     time.sleep(3) 
    else: 
     xbmc.executebuiltin("Notification(some text, sometext,()") 

downloadupdate() 

 Смежные вопросы

  • Нет связанных вопросов^_^