Python 内置的 time 模块可以让 Python 程序读取系统时钟的当前时间。
1 time.time() 函数
Unix 纪元指的是 1970 年 1 月 1 日 0 点,即协调世界时(UTC)。 time.time()函数会返回自Unix 纪元那一刻以来的秒数,是一个浮点值,这个数字称为 UNIX 纪元时间戳。
由于英文(CUT,Coordinated Universal Time)和法文(TUC)的缩写不同,作为妥协,简称 UTC。
UNIX 纪元时间戳可以用于剖析代码性能,也就是测量一段代码的运行时长。在代码块开始时调用 time.time() ,并在代码结束时再次调用,就可以用第二个时间戳减去第一个,得到这部分代码块的运行时长。
import time
logging.basicConfig(level=logging.DEBUG, format='%(levelname)s - %(message)s')
def factorial(num):
'''
计算阶乘
:param num:
:return:
'''
factorial = 1
for i in range(1, num + 1):
factorial = factorial * i
return factorial
start_time = time.time()
result = factorial(100000)
end_time = time.time()
logging.info('计算结果有 %s 位.' % (len(str(result))))
logging.info('计算过程共耗费 %s 秒.' % (end_time - start_time))
运行结果:
INFO - 计算结果有 456574 位.
INFO - 计算过程共耗费 3.1611809730529785 秒.
2 time.sleep() 函数
如果需要让程序暂停一下,可以调用 time.sleep()函数,该函数接收希望程序暂停的秒数作为入参。
for i in range(3):
logging.info('嘀……')
time.sleep(0.5)
logging.info('嗒.')
time.sleep(0.5)
运行结果:
INFO - 嘀……
INFO - 嗒.
INFO - 嘀……
INFO - 嗒.
INFO - 嘀……
INFO - 嗒.
time.sleep() 函数会阻塞,直到传递给 time.sleep() 的秒数流逝掉才会继续执行。