① python中如何在一段時間後停止程序
用到threading的Timer,也類似單片機那樣子,在中斷程序中再重置定時器,設置中斷,python實例代碼如下:
import threading
import time
def change_user():
print('這是中斷,切換賬號')
t = threading.Timer(3, change_user)
t.start()
#每過3秒切換一次賬號
t = threading.Timer(3, change_user)
t.start()
while True:
print('我在爬數據')
time.sleep(1)
(1)python中timeclock擴展閱讀
有時當一個條件成立的情況下,需要終止程序,可以使用sys.exit()退出程序。sys.exit()會引發一個異常:
1、如果這個異常沒有被捕獲,那麼python編譯器將會退出,後面的程序將不會執行。
2、如果這個異常被捕獲(try...except...finally),捕獲這個異常可以做一些額外的清理工作,後面的程序還會繼續執行。
註:0為正常退出,其他數值(1-127)為不正常,可拋異常事件供捕獲。另一種終止程序的方法os._exit()
一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()
採用sys.exit(0)正常終止程序,程序終止後shell運行不受影響。
採用os._exit(0)關閉整個shell,調用sys._exit(0)後整個shell都重啟了(RESTART Shell)。
② Python中處理時間的幾種方法小結
python中的時間模塊主要有time, datetime。
I, time模塊
time模塊中包含了四種時間格式:
float格式,即給定時間相對於epoch增加的秒數
tuple格式,一個九元組 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
string格式,'Mon Feb 6 15:00:06 2012'
format格式,以指定的格式生成的時間
針對這幾種時間格式,time模塊提供了函數在格式之間相互轉換。
asctime(tuple) ->string
ctime(float) ->string
gmtime(float) ->tuple
localtime(float) ->tuple
mktime(tuple) ->float
strftime(format, tuple) ->format string
strptime(formatstring, format) ->tuple
time() -> float
上述函數中,除了time()函數直接返回當前時間相對於epoch的秒數外,其他函數都要求有時間的輸入,如果沒有輸入,則默認使用當前時間。
另外,strftime和strptime中的format使用下面的格式:
%a 英文星期簡寫
%A 英文星期的完全
%b 英文月份的簡寫
%B 英文月份的完全
%c 顯示本地日期時間
%d 日期,取1-31
%H 小時, 0-23
%I 小時, 0-12
%m 月, 01 -12
%M 分鍾,1-59
%j 年中當天的天數
%w 顯示今天是星期幾
%W 第幾周
%x 當天日期
%X 本地的當天時間
%y 年份 00-99間
%Y 年份的完整拼寫
%S 秒(00-59)
除了上述的時間轉換函數之外,模塊還提供了下面的函數:
clock() 返回進程的創建時間,以秒計數的float
sleep(float) sleep一段時間,以秒計數
tzset() 更改時區
II, datetime
datetime模塊定義了下面這幾個類:
datetime.date:表示日期的類。常用的屬性有year, month, day;datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;datetime.datetime:表示日期時間。datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構造函數如下:
class datetime.date(year, month, day):參數的意義就不多作解釋了,只是有幾點要注意一下:
year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);day的最大值根據給定的year, month參數來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
date.max、date.min:date對象所能表示的最大、最小日期;date.resolution:date對象表示日期的最小單位。這里是天。date.today():返回一個表示當前本地日期的date對象;date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date對象;datetime.fromordinal(ordinal):將Gregorian日歷時間轉換為date對象;(Gregorian Calendar :一種日歷表示方法,類似於我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
③ python編程中time模塊下的clock()函數怎麼用print time.clock()顯示的是1.3099e-06,看不懂
測試下就知道了
import time
time.clock()#第一次調用
time.sleep(1)
time.clock()#第二次調用
time.sleep(1)
time.clock()#第三次調用
time.sleep(2)
time.clock()#第四次調用
結果
3.6317464929201895e-06 這個是3.63..*10的負6次方單位秒
0.99971644440843743後面基本以這個為主了
1.9996628063063882
3.9996745396412114
這個時間看不懂嗎,你只要看小數點後1 2 位就可以了,就是執行的時間而已,單位都是秒
④ 怎麼用Python實現時間加減運算
import time
import datetime
# 將時間str轉化為普通時間類型,用於計算
startTime = datetime.datetime.strptime(startTime,"%Y-%m-%d %H:%M:%S")
endTime = datetime.datetime.strptime(endTime,"%Y-%m-%d %H:%M:%S")
sample_time = datetime.datetime.strptime(time_string, '%Y-%m-%dT%H:%M:%SZ')
(第一個參數為字元串形式的時間,第二個參數為該字元串形式時間的格式)
# 時間運算
seconds = (endTime- startTime).seconds
hours=(endTime- startTime).hours
day=(endTime- startTime).day
# 計算時間差
startTime = time.clock()
endTime = time.clock()
runTime = endTime - startTime
⑤ 幾種Python執行時間的計算方法
方法1:
import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
datetime.datetime.now()獲取的是當前日期,在程序執行結束之後,這個方式獲得的時間值為程序執行的時間。
方法2:
start = time.time()
#long running
#do something other
end = time.time()
print end-start
time.time()獲取自紀元以來的當前時間(以秒為單位)。如果系統時鍾提供它們,則可能存在秒的分數。所以這個地方返回的是一個浮點型類型。這里獲取的也是程序的執行時間。
方法3:
start = time.clock()
#long running
#do something other
end = time.clock()
print end-start
time.clock()返回程序開始或第一次被調用clock()以來的CPU時間。 這具有與系統記錄一樣多的精度。返回的也是一個浮點類型。這里獲得的是CPU的執行時間。
註:程序執行時間=cpu時間 + io時間 + 休眠或者等待時間。
關於幾種Python執行時間的計算方法,環球青藤小編就和大家分享到這里了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。如果您還想繼續了解關於python編程的學習方法及素材等內容,可以點擊本站其他文章學習。
⑥ python計算過去多長時間
#結束時間-開始時間
>>>importtime
>>>importtime
>>>start=time.clock()
>>>end=time.clock()
>>>print"read:%fs"%(end-start)
read:6.760052s
⑦ python怎麼計時
定義在默認的計時器中,針對不同平台採用不同方式。在Windows上,time.clock()具有微秒精度,但是time.time()精度是1/60s。在Unix上,time.clock()有1/100s精度,而且time.time()精度遠遠更高。在另外的平台上,default_timer()測量的是牆上時鍾時間,不是CPU時間。這意味著同一計算機的其他進程可能影響計時
版權聲明:
def clock(func):
def clocked(*args, **kwargs):
t0 = timeit.default_timer()
result = func(*args, **kwargs)
elapsed = timeit.default_timer()- t0
name = func.__name__
arg_str = ', '.join(repr(arg) for arg in args)
print('[%0.8fs] %s(%s) -> %r' % (elapsed, name, arg_str, result))
return result
return clocked
@clock
def run(seconds):
time.sleep(seconds)
return time
if __name__ == '__main__':
run(1)
本文為CSDN博主「FlyingPie」的原創文章,遵循CC 4.0 BY-SA版權協議,附上原文出處鏈接及聲明。
原文鏈接:https://blog.csdn.net/BobAuditore/article/details/79377679
⑧ python程序怎麼使用定時器終止程序
#python 2.7
import time #導入 time類
start=time.clock()
def func(a,b):
while True:
end=time.clock ()
if int(end-start)==10:
print('Warning: Timeout!!'*5)
break
a=a+b
print a
func(1,2)
主要思路:開始時間-當前時間=10則停止運行並輸出時間到了(注意縮進)
⑨ python中time庫找不到clock函數
我知道time庫有這兩個函數
Python time庫
⑩ python 計算程序運行了多長時間
python 計算程序運行時間:
6.760052s
一、import time