python函数可以提高运行效率吗_python 多进程如何提高函数效率?
1 如何利用multiprocessing 庫提高單個函數的執行效率
2 代碼如下:
def f():
urls = ['http://yanbao.stock.hexun.com/listnews1_{}.shtml'.format(i) for i in range(1,5)]
d = {}
l1 = []
l2 = []
for url in urls:
con = requests.get(url).text
soup = BeautifulSoup(con, 'lxml')
stockname = [i.string.split(':')[0] for i in soup.find_all('a',class_ = 'fxx_wb')] #得到每個研報的鏈接
t = [i.string for i in soup.find_all(text=re.compile('\d+-\d+-\d'))] # 得到研報發布時間
l1.extend(stockname)
l2.extend(t)
d['stockname'] = l1
d['time'] = l2
return d
if __name__ == '__main__':
a = time.time()
p = Pool(4)
# # l.extend(p.map(f,urls))
info1 = p.apply_async(f)
p.close()
p.join()
print(info1)
print(time.time()-a)
c = time.time()
info2 = f()
print(info2)
print(time.time()-c)
3 urls這個變量是自己構造的,把range參數改變可以有很多。自己的想法是利用多進程執行這個函數,通過函數的返回值賦值給一個變量比如info1和info2,然后將info這個變量寫入文件。
問題:1 多進程的方法所用時間沒有明顯減少,甚至要多,可能使用的方法不正確 2 在使用多進程時,如何把函數的返回值賦值給另一個變量。 初學者,多指教
總結
以上是生活随笔為你收集整理的python函数可以提高运行效率吗_python 多进程如何提高函数效率?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI读取word文件,(支持HSSF和
- 下一篇: python多进程内存共享_Python