pyhton第四周小测

这篇博客涵盖了多个Python编程主题:设计一个记录日志的装饰器,用于自动记录函数运行信息并保存到file.log;使用itchat库分析微信好友的省份分布,并用pyecharts展示前5个最多好友的省份;解决LeetCode的版本号比较问题;最后介绍了两个装饰器,一个是实现斐波那契数列的高速缓存,另一个是程序运行计时器。
摘要由CSDN通过智能技术生成

1.记录日志装饰器
创建一个装饰器, 功能实现函数运行时自动产生日志记录。 日志格式如下:
程序运行时间 主机短名 程序名称: 函数[%s]运行结果为[%s]
产生的日志文件并不直接显示在屏幕上, 而是保存在 file.log 文件中

import time
import os
import sys
def add_log(fun):
     def warpper(*args,**kwargs):
            start_time = time.time()
            result= fun()

            end_time = time.time()
             #获取程序运行时间
            run_time =start_time - end_time
             #主机短名
            hostname = os.uname().nodename.split('.')[0]
             #程序名称
            process_full_name = sys.argv[0]
            process_name = os.path.split(process_full_name)[-1]
             #函数[%s]运行结果[%s]
            info = '函数[%s]运行结果[%s]' %(fun.__name__,result)
            #整合要显示的日志信息
            log_mess = ''.join([run_time,hostname,process_name,info])
            #将日志信息保存到文件file.log文件中
            with open('file.log','w') as f:
      
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值