Python 使用with上下文实现计时功能

 更新时间:2018年03月09日 08:34:24   投稿:mrr  
with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。这篇文章主要介绍了Python 使用with上下文实现计时,需要的朋友可以参考下

引言

with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用),从 2.6 版本开始缺省可用(参考 What's new in Python 2.6? 中 with 语句相关部分介绍)。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。

在Python常常需要记录一段代码运行了多长时间,普通的一般用两个 time.time() ,然后计算差值;高级一点的,就是写一个计时装饰器,用装饰器包裹方法,记录运行时间,但这这意味着你的代码需要写在函数里,然后才能使用此计时装饰器。

今天我要介绍的是一种可以给一段代码计时,而不是一个函数计时的方便的、“高级的”的Python计时方法。

代码如下:

from contextlib import contextmanager
@contextmanager
def timer(name): 
 start = time.time()
 yield
 print(f'[{name}] done in {time.time() - start:.2f} s')

使用方法:

with timer('Test'): 
 i = 0
 while i < 1000000:
  i += 1

输出:

[Test] done in 0.11 s

从1加到1百万需要0.11s。可以在 timer 通过修改 .2f 来修改时间精度。

总结

以上所述是小编给大家介绍的Python 使用with上下文实现计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 详解Python中高阶函数(map,filter,reduce,sorted)的使用

    详解Python中高阶函数(map,filter,reduce,sorted)的使用

    高阶函数就是能够把函数当成参数传递的函数就是高阶函数,换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数。本文为大家详细讲解了Python中常用的四个高阶函数,感兴趣的可以了解一下
    2022-04-04
  • python selenium反检测问题

    python selenium反检测问题

    这篇文章主要介绍了python selenium反检测问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 用Python画小女孩放风筝的示例

    用Python画小女孩放风筝的示例

    今天小编就为大家分享一篇用Python画小女孩放风筝的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 解读Python中字典的key都可以是什么

    解读Python中字典的key都可以是什么

    这篇文章主要介绍了解读Python中字典的key都可以是什么,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Python如何通过百度翻译API实现翻译功能

    Python如何通过百度翻译API实现翻译功能

    这篇文章主要介绍了Python如何通过百度翻译API实现翻译功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python运维开发之psutil库的使用详解

    Python运维开发之psutil库的使用详解

    这篇文章主要介绍了Python运维开发之psutil库的使用,psutil能够轻松实现获取系统运行的进程和系统利用率。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Python中文编码那些事

    Python中文编码那些事

    由于中文的特殊性,造成了在各大编程语言中都存在编码转换的问题,今天我们来探讨下python中中文编码如何处理呢
    2014-06-06
  • 基于Python实现西西成语接龙小助手

    基于Python实现西西成语接龙小助手

    成语接龙是中华民族传统的文字游戏。本文将用Python制作一个简单的成语接龙小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-08-08
  • python获取各操作系统硬件信息的方法

    python获取各操作系统硬件信息的方法

    这篇文章主要介绍了python获取各操作系统硬件信息的方法,实例分析了Python在windows、Linux及Mac等操作系统上获取CPU信息的相关技巧,需要的朋友可以参考下
    2015-06-06
  • Python脚本实现虾米网签到功能

    Python脚本实现虾米网签到功能

    这篇文章主要介绍了Python脚本实现虾米网签到功能的方法,涉及Python调用URL模块实现数据传输与处理的相关技巧,需要的朋友可以参考下
    2016-04-04

最新评论