python 实现批量下载,使用pool控制线程池。如果使用for i in range(xxx)的方式将有可能将系统的线程池占满。
实现过程中,使用到map函数, 很常用和简洁,也很实用。
from multiprocessing import Pool
def download(file_name):
print(file_name)
# files.txt 中存放的是需要下载的100000个文件列表.
if __name__ == "__main__":
with open('files.txt', 'r') as f:
files_name = [ x.strip('\n') for x in f.readlines() ]
with Pool(500) as p:
p.map(download, files_name)
print("End.")