day5_homework

1、当前目录下有很多文件夹、文件,统计/usr/local/这个目录下,如果是文件,那么就给删除 
/usr/local/,自己创建一下目录和文件,实现这个功能

import os
fpath = os.path.join(os.getcwd(),'usr\local') # 按照题意生成新的路径是D:\python\byz-code\day5\usr\local
def del_file(fpath):
f_path = os.listdir(fpath) # f_path是一个list
for factor in f_path: # factor的英文意思是元素,表示循环f_path列表里的每个目录和文件
my_path = os.path.join(fpath,factor) # 把路径设计好,供循环删除文件使用
if os.path.isfile(my_path): # 拼接的绝对路径是文件的话就删除该文件
os.remove(my_path)
else: # 拼接的绝对路径是目录的话继续调用该函数逐层删除文件
del_file(my_path)
del_file(r'D:\python\byz-code\day5\usr\local') # 调用函数,把所有文件都删除了

 2、写一个监控tomcat日志的脚本,如果日志中出现error、exception的关键字,记录这一行的行数,和这一行的内容、这个文件的文件名,
在文件里的格式如下:文件名:tomcat20171020.log   18行 sdfsdfsdfsdfs error xx

上图的文件结构要提前准备好,然后写代码就OK了

   start.py的代码如下:

import os,sys
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 添加环境变量在别的机器上也可以运行,在shop目录上Sources Root
sys.path.insert(0,BASE_PATH) # 添加环境变量在别的机器上也可以运行
from lib.logfile import listen_log
from conf.setting import DATA_PATH
listen_log(DATA_PATH)

setting.py的代码如下:
import os
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 取到shop目录
DATA_PATH = os.path.join(BASE_PATH,'data') # 获取数据,也就是读日志文件的路径
RES_PATH = os.path.join(BASE_PATH,'logs') # 把结果存放到该路径下
RES_FILENANE = os.path.join(RES_PATH,'log.txt') # 写结果的文件名
KEY_WORDS = ['error','exception'] # 关键字列表,如果还有别的关键字写进来就行

logfile.py的代码如下:
import os
from conf.setting import RES_FILENANE,KEY_WORDS
def listen_log(dir_path): # 监控日志的函数,传入一个路径
f_list = os.listdir(dir_path) # f_list里面存放的是日志文件
fw = open(RES_FILENANE,'w',encoding = 'utf8')
for f in f_list:
if f.endswith('.log'): # 判断是否是.log结尾
abs_path = os.path.join(dir_path,f) # 获取绝对路径,是一个日志文件名
fr = open(abs_path,encoding = 'utf8') # 循环每个日志文件
line_num = 1
for line in fr: # 循环每个日志文件的每一行
for key in KEY_WORDS: # 循环error、exception
if key in line: # 判断关键字是否在每一行里
res = '{filename}:{line_num} {content} \n'.format(filename = f,line_num = line_num,
content = line)
fw.write(res)
fw.flush()
line_num += 1
fr.close()
fw.close()

data目录下的log文件自己提前创建好,自己输入一下内容包含error和exception,README.md自己创建并把需求分析写进去

转载于:https://www.cnblogs.com/laosun0204/p/8523962.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值