def download(img_url, img_name):
with closing(requests.get(img_url, stream=True)) as r:
with open(os.path.join(out_dir, img_name), 'wb') as f:
fordatainr.iter_content(1024):
f.write(data)
def get_imgurl_generate():
with open('./example.txt','r') as f:
forlinein f:
line = line.strip()
yield imgs
lock = threading.Lock()def loop(imgs):
while True:
try:
with lock:
img_url, img_name = next(imgs)
except StopIteration:
break download_pic(img_url, img_name)
img_gen = imgurl_generate()foriin range(0, thread_num):
t = threading.Thread(target=loop, args=(img_gen,))
t.start()