我有一些代码可以下载内容:
def downloadupdate():
url = 'http://myurl.com/o/test/Super.zip'
destination = xbmc.translatePath('somepath.zip')
urllib.urlretrieve(url,destination)
time.sleep(40)
Python中有没有办法延迟脚本运行直到下载完成?正如您所看到的,我现在正在使用time.sleep(x)
来完成此任务,并且我猜测它需要多长时间。如果可能的话,我宁愿在下载完成后继续编写脚本。
答案 0 :(得分:1)
你可以使urllib是同步的,这意味着它将阻止程序的其余部分运行,直到下载完成。
import urllib
zip = urllib.urlopen('http://myurl.com/o/test/Super.zip')
with open(xbmc.translatePath('somepath.zip'), "wb") as zipFile:
zipFile.write(zip.read())
# Download has Completed
print "Downloaded"
答案 1 :(得分:0)
据我所知,urllib.urlretrieve()
首先不是异步的,所以你不需要做任何time.sleep()
或类似的事情来使脚本阻塞直到检索完成。