我有这段代码
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()
zip文件正确下载 zip文件保存在正确的位置 删除正确 在super.zip里面有12个目录,如果这12个目录是test.txt文件 当我提取Super.zip时,它只提取十二个目录中的一个,并且提取的目录为空。可能是我需要以某种方式停止或关闭shutil进程?并且作为它的提取,它被shutil同时擦除了? 请问有人请说明我的错。三江源
答案 0 :(得分:0)
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()