我正在尝试使用具有多处理模块的工作程序池从文本文件创建一系列NumPy数组。
EmailAuthProvider
问题是在def process_line(line,x,y,z,t):
sl = line.split()
x = np.append(x,float(sl[0].replace(',','')))
y = np.append(y,float(sl[1].replace(','')))
z = np.append(z,float(sl[2].replace(','')))
t = np.append(t,float(sl[3].replace(','')))
def txt_to_HDF_converter(name,path_file):
#init objects
x = np.empty(0)
y = np.empty(0)
z = np.empty(0)
t = np.empty(0)
pool = mp.Pool(4)
jobs = []
with open(path_file) as f:
for line in f:
jobs.append(pool.apply_async(process_line,(line,t)))
#wait for all jobs to finish
for job in jobs:
job.get()
#clean up
pool.close()
函数中分配数组时出现的,就像参数通过值传递一样,在循环结束时,我最终得到的数组只有一个元素。
知道如何解决这个问题吗?