超時機制。python中調(diào)用兩個函數(shù)需要給函數(shù)設(shè)置超時機制,以防止它超時,這里可以用python的signal模塊,signal模塊可以實現(xiàn)程序內(nèi)部的信號處理。
創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元渠縣做網(wǎng)站,已為上家服務(wù),為渠縣各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
是為了防止url不可訪問,或者響應(yīng)速度太慢而造成的時間浪費。
比如,你要爬取1000個網(wǎng)站,如果有100個需要30s才能返回數(shù)據(jù),你等待他們返回的話就需要3000s了,如果你設(shè)置10s超時,那么就能知道最長需要多久1000個可以爬完。
如果解決了您的問題請采納!
如果未解決請繼續(xù)追問
很簡單,新建一個線程即可
import threading
def input_func( context ):
context[ 'data' ] = input( 'input:' )
context = { 'data' : 'default' }
t = threading.Thread( target = input_func ,args = ( context , ) )
t.start( )
t.join( 10 )#等待10秒
print( context )
在你的這個思路中,可以優(yōu)化的主要就是幾方面:
1:求因數(shù)可以僅算到n的平方根q為止,對于n,每有一個小于q的因數(shù),就有一個對應(yīng)的大于q的因數(shù),兩者之積為n。
2:在完數(shù)函數(shù)中已經(jīng)完成了求因數(shù)的工作,不需要另做一次,直接在完數(shù)函數(shù)中拼裝結(jié)果即可。
3:目前來說,已知的完全數(shù)都是偶數(shù),因此,最后那行那里可以做num+=2優(yōu)化,但數(shù)學(xué)上目前還沒有證明不存在奇完全數(shù),這種做法從理論上來說是不嚴謹?shù)摹?/p>
實際上,當一個數(shù)比較大的時候,做因數(shù)分解是一個很費時的工作,要找更大的完數(shù),需要更好的因數(shù)分解的方式。比如先求出所有的質(zhì)因數(shù),在使用這些質(zhì)因數(shù)的組合來尋找非質(zhì)因數(shù)。因為質(zhì)因數(shù)必然是在質(zhì)數(shù)表中,而質(zhì)數(shù)表可以建立一次然后重復(fù)使用,相對一個個的試商就快得多了。
如果要進一步優(yōu)化以尋找更大的完全數(shù),那么,就需要利用更多的關(guān)于完全數(shù)的規(guī)律了,比如,除6以外,其它的完全數(shù)都是9n+1,都是p^2*q……,這些優(yōu)化在你這個框架下實現(xiàn)就比較麻煩。
總體來說,不解決因數(shù)分解的問題,主要就是上述三種優(yōu)化了。
分享名稱:python函數(shù)實現(xiàn)超時的簡單介紹
網(wǎng)頁地址:http://aaarwkj.com/article46/hhheeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、外貿(mào)建站、網(wǎng)站營銷、微信公眾號、虛擬主機、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)