我使用下面的代码多线程下载图像,但我发现不是那么快,我不知道为什么,有人为我expalin
正常下载:
for imageSecond in imageSeconds:
urlServer = imageSecond.get("src")
pathLocal = formatPath(downloadLocationPath, ntpath.basename(urlServer))
downloadImage(browser, urlServer, pathLocal)
def downloadImage(browser, urlServer, pathLocal):
线程下载:
ts = []
for imageSecond in imageSeconds:
urlServer = imageSecond.get("src")
pathLocal = formatPath(downloadLocationPath, ntpath.basename(urlServer))
ts.append(createNewDownloadThread(browser, urlServer, pathLocal))
for t in ts:
t.join()
def createNewDownloadThread(browser, urlServer, pathLocal):
download_thread = threading.Thread(target=downloadImage, args=(browser, urlServer, pathLocal))
download_thread.start()
return download_thread#.join()
def downloadImage(browser, urlServer, pathLocal):
从Python docs:
因此,您正在创建一个线程,等待它完成下载,然后为后续下载创建另一个线程,该线程与原始解决方案基本相同
更新您可以使用^{} ,它提供了简单的界面:
输出:
对于您的代码,它看起来像这样:
使用如下代码
代替代码
相关问题 更多 >
编程相关推荐