日志应用

'''这个文本文件核心有几种情况:
序号 ID 操作者 操作行为 操作行为 操作对象
6883 556773833 RemyMCMXI
6880 556772838 Mindmatrix restored undeleted RemyMCMXI
6882 556771715 RemyMCMXI
6881 556770863 RemyMCMXI
6880 556673938 Liua97
6879 554350969 Epicgenius
6880 554332653 Alex

找到restored所在行,得到该行序号6880,然后往下读,
找到第一个与其序号相同的行(liua97那行),
然后记录下这两行之间所有的id值(包括restored那行),
这个例子就是记录下556772838 556771715 556770863这三个id。'''
with open('~/桌面/test1','a+')as f:
    f.write('6883 556773833 RemyMCMXI\n'
            '6880 556772838 Mindmatrix restored undeleted RemyMCMXI\n'
            '6882 556771715 RemyMCMXI\n'
            '6881 556770863 RemyMCMXI\n'
            '6880 556673938 Liua97\n'
            '6879 554350969 Epicgenius\n'
            '6880 554332653 Alex\n')
    f.seek(0,0)
    info=[i.split() for i in f]
    info_len=len(info)
    for i in range(info_len):
        if 'restored' in info[i]:
            for j in range(i+1,info_len):
                if info[i][0]==info[j][0]:
                    print(tmp[1] for tmp in info[i:j])
                    break
'''合并指定目录下的所有.py文件的内容到一个文件中;
   将我们上课的day01-day08的所有.py文件内容合并为一个文件名all.py
'''
import os
li1=['~/PycharmProjects/'+'day'+str(i)+'.py' for i in range(1,9)]
for i in li1:
    with open(i,'w') as f:
        f.write(i)

def add(dirpath,suffix,newdirpath,newname):
    if os.path.exits(dirpath) and os.path.exists(newname):
        old_file=[i for i in os.listdir(dirpath) if i.endwith(suffix)]
        for i in old_file:
            with open(dirpath+i) as f1:
                with open (newdirpath+newname) as f2:
                    for i in f1:
                        f2.write(i+'\n')
                        os.remove(i)
        print('文件合并完成')
    else:
        print('该目录不存在')
add('~/PycharmProjects/','.py','~/PycharmProjects','all.py')
with open('~/PycharmProjects/all.py')as f:
    print(f.read())
''' 1. 创建add_log装饰器, 被装饰的函数日志信息被记录到/var/log/python.log文件中;
    2. 日志格式为: [字符串时间] Level: 日志级别 Name: 函数名称, Runtime:xxx  Result:xxx
    [注]: 装饰器带有参数;
'''
import time
def add_log(type):
    def add_info(fun):
        def wrapper(*args,**kwargs):
            start_time=time.time()
            res = fun(*args,**kwargs)
            end_time=time.time()
            with open('/var/log/python.log',"a+")as f:
                f.write('[%s] Level:%s, Name:%s, Runtime:%.5d, Result:%s'
                        %(time.ctime(),type,fun.__name__,end_time-start_time,res))
                print('日志记录成功')
            return res
        return wrapper
    return add_info

@add_log('warn')
def hello(x,y):
    return x+y
hello(3,6)
with open('/var/log/python.log') as f:
    print(f.read())


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值