我正在尝试提出一个python程序,允许用户通过并行进程下载Web图像。以下是代码:
from threading import Thread
from uuid import uuid4
import urllib
import re
def concurrent_run(fun, j):
for i in j:
Thread(target=fn, args=(i)).start()
def find_image(i):
newpath = '/Users/*******/Desktop'+str(uuid4())+".jpg"
if not os.path.exists(newpath): os.makedirs(newpath)
f=open(newpath,'wb')
f.write(from_page(i))
f.close()
def all_images(i):
images = re.findall('img=',i)
return [images[i] for i in xrange(0,len(images))]
def read_page(u):
return urllib.urlopen(u).read()
concurrent_run(find_image, all_images(read_page('http://www.google.com')))
......似乎什么都没发生?有人可以指出我出错的地方吗?
谢谢
答案 0 :(得分:4)
fn
与参数名称fun
def concurrent_run(fun, j):
# ^^^
for i in j:
Thread(target=fn, args=(i)).start()
# ^^ ^^^
args应该是一个元组:args=(i,)