python-test03

一.合并指定目录下的所有.py文件的内容到一个文件中;
将我们上课的day01-day08的所有.py文件内容合并为一个文件名all.py;

import os

#还要删除每个目录中的.idea目录(隐藏的目录)

for dirname in os.listdir(os.path.split(os.getcwd())[0]):  #获取day01-day08目录名
    for filename in os.listdir(os.path.split(os.getcwd())[0]+'/'+dirname):  #获取day01-day08目录下的所有文件
        with open(os.path.split(os.getcwd())[0]+'/'+dirname+'/'+filename) as sourcefile ,open("/mnt/python笔记",'a+') as newfile:
        #以只读的方式打开每个文件,以追加的方式打开新文件
            for line in sourcefile.read():   #以行的形式加入
                newfile.writelines(line)
print("导入成功")

二.**这个文本文件核心有几种情况:
序号 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("/mnt/dealfile") as df:
    flag = 0   #设定一个标志,如果flag==0时则继续循环
    for line in df.readlines():
        line=line.split(" ")
        if "restored" in line:   #发现restored行,记录下他的序号,并输出ID,将标志改为1,以后都输出遍历
                                    # 行的ID直到与到下一个序号相等的行,退出循环
            num=line[0]
            flag=1
            print(line[1])
        elif flag==0:
            continue
        elif line[0]==num:
            break
        elif  flag==1:
            print(line[1])

三.**# 1. 创建add_log装饰器, 被装饰的函数日志信息被记录到/var/log/python.log文件中;
2. 日志格式为: [字符串时间] Level: 日志级别 Name: 函数名称, Runtime:xxx Result:xxx
“”“**

import functools
import time
import random
import os

def file():
    if os.path.exists("/var/log/python.log"):
        pass
    else:
        os.minor("/var/log/python.log")

def log(*type):
    def add_log(fun):
        @functools.wraps(fun)
        def wrapper(*args,**kwargs):
            start=time.time()
            res=fun(*args,**kwargs)
            end=time.time()
            file()
            with open("/var/log/python.log", 'a+') as logf:
                logf.write("%s\tLevel:%s\tName:%s\tRuntime:%.3fs\tResult:%s\n"
                      %(time.ctime(),type[0],fun.__name__,end-start,res))
        return wrapper
    return add_log

@log("warn")
def add(x,y,*args):
    time.sleep(random.random())
    return x+y


add(2,3)

猜你喜欢

转载自blog.csdn.net/mashaokang1314/article/details/80325124