【发布时间】:2011-05-12 07:35:25
【问题描述】:
这个循环帮助从网络服务获取一些文本数据:
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”,然后在time.sleep之后再做一次。但是它不起作用,或者在同一时间执行相同的过程,我犯了什么逻辑错误?
【问题讨论】:
-
你顺便导入两次csv。
-
谢谢,我看到 import csv 导入错误。:)
-
@Jeff:你的意思是粘贴原始源代码?
-
是的。代码you pasted in 根本没有缩进。其他人为您添加了缩进(恕我直言,这不是正确的举动),但他们可能完全错误。
标签: python csv multiprocessing urlopen