我正在尝试计算多个数组的平方(56个大小为487x2074),它们分别保存在txt文件中,并将平方和保存在txt文件中。我会计算这些输出数组的平方和,时间跨度为30年(这意味着我将重复该步骤30次)。
现在,我想并行执行这些多进程并检查多处理示例,并提出如下想法:
def myfunction(q,year):
betaSquaredSum = 0
P = 56
workingPath = os.getcwd()
for i in xrange(1,P):
betaPath= os.path.join(workingPath,"beta_"+str(i)+"_"+str(year)+".txt")
betaArray = np.loadtxt(betaPath,dtype=float)
betaSquared = betaArray*betaArray
betaSquaredSum += betaSquared
result = betaSquaredSum
np.savetxt(str(workingPath)+"\variance_"+str(year)+".txt", result,
delimiter= " ")
q.put(year)
if __name__ == '__main__' :
start = time.time()
print strftime("%a, %d %b %Y %H:%M:%S \n", localtime())
for year in range(1999,2010):
q = Queue()
p = Process(target = myfunction,args=(q,year,))
p.start()
p.join()
end = time.time()
print strftime("%a, %d %b %Y %H:%M:%S \n", localtime())
print("Elapsed time in seconds: " +str(end-start))
我无法找到代码中的错误,但它没有生成输出文件。