在我的代码中有一个函数应该读取文件。每个文件大约是8M,但是读取速度太慢,为了改进,我使用多处理。很遗憾我想知道有没有什么方法可以帮助解决这个问题,提高阅读速度?在
我的代码如下:import multiprocessing as mp
import json
import os
def gainOneFile(filename):
file_from = open(filename)
json_str = file_from.read()
temp = json.loads(json_str)
print "load:",filename," len ",len(temp)
file_from.close()
return temp
def gainSortedArr(path):
arr = []
pool = mp.Pool(4)
for i in xrange(1,40):
abs_from_filename = os.path.join(path, "outputDict"+str(i))
result = pool.apply_async(gainOneFile,(abs_from_filename,))
arr.append(result.get())
pool.close()
pool.join()
arr = sorted(arr,key = lambda dic:len(dic))
return arr
以及调用函数:
^{pr2}$