在Python中记录程序运行时间(分钟)的核心方法是利用time
模块的time.time()
函数捕获起止时间戳,差值除以60即可转换为分钟,或使用datetime
模块的datetime.now()
获取更易读的时间差。 timeit
模块适合高精度小代码块测试,而上下文管理器或装饰器能优雅封装计时逻辑。
-
基础方法:
time
模块
导入time
后,用start_time = time.time()
记录开始时间,程序结束后计算(end_time - start_time) / 60
。例如:python复制
import time start = time.time() # 程序代码 end = time.time() print(f"运行时间:{(end - start) / 60:.2f}分钟")
-
增强可读性:
datetime
模块
datetime.now()
返回包含日期时间的对象,时间差通过total_seconds() / 60
转换:python复制
from datetime import datetime start = datetime.now() # 程序代码 print(f"运行时间:{(datetime.now() - start).total_seconds() / 60:.2f}分钟")
-
性能测试专用:
timeit
模块
对代码片段多次运行取平均值,适合微优化场景:python复制
import timeit code = "sum(range(10**6))" minutes = timeit.timeit(code, number=100) / 100 / 60 print(f"平均运行时间:{minutes:.4f}分钟")
-
高级封装:上下文管理器/装饰器
通过类或装饰器复用计时逻辑,例如:python复制
class Timer: def __enter__(self): self.start = time.time() def __exit__(self, *args): print(f"耗时:{(time.time() - self.start) / 60:.2f}分钟") with Timer(): # 程序代码
提示: 根据场景选择合适方法——简单测试用time
,需格式化输出用datetime
,性能优化用timeit
,复杂项目推荐封装计时工具。注意避免系统调度误差,多次测量取平均值可提升准确性。