如何使用openurl和多重处理同时获得URL不同的数据?

| 此循环有助于从Web服务获取一些文本数据:
while True:
    u = urllib2.urlopen(\'http://url/%d.csv\' %inputd)
    f=open(\'/folder/%s.csv\' $inputd,\'a\')
    csvread = csv.reader(u)
    csvwrite = csv.writer(f)
    csvwrite.writerows(csvread)
    print \'OK\',\'%e\'%inputd
    time.sleep(30)
现在我尝试同时使用多重处理来获取不同的数据标题:
import multiprocessing as mp
import urllib2,csv,random,logging,csv,time

inputd=(abc,def,ghi)

def dataget():
    u = urllib2.urlopen(\'http://url/%d.csv\' %inputd)
    f=open(\'/folder/%s.csv\' $inputd,\'a\')
    csvread = csv.reader(u)
    csvwrite = csv.writer(f)
    csvwrite.writerows(csvread)
    print \'OK\',\'%e\' % inputd
    time.sleep(30)

process=[]
for s in inputd:
    p = mp.Process(target=dataget) 
    ps.append(p)
    p.start()
我希望这可以获取和保存\“ http://url/abc.csv \”; \“ http://url/def.csv \”; \“ http://url/ghi.csv \”同时显示,然后在after2ѭ之后再次进行。但这不起作用,或者同时执行相同的过程,我犯了什么逻辑错误?     
已邀请:
您的多进程实现将只进行一次URL捕获。 如果您希望dataget一次又一次地执行任务,那么您会错过
While True
。 也许这样会起作用:
import multiprocessing as mp
import urllib2,csv,random,logging,csv,time

inputd=(abc,def,ghi)

def dataget(param):
    while True:
        u = urllib2.urlopen(\'http://url/%d.csv\' %param)
        f=open(\'/folder/%s.csv\' %param,\'a\')
        csvread = csv.reader(u)
        csvwrite = csv.writer(f)
        csvwrite.writerows(csvread)
        print \'OK\',\'%e\'%param
        time.sleep(30)

process=[]
for s in inputd:
    p = mp.Process(target=dataget, args=(s,)) 
    process.append(p)
    p.start()
    

要回复问题请先登录注册