厦门免费自助建站模板,网站上传不了图片不显示不出来吗,网站制作后续维护,揭阳自助建站软件文章目录 1. 使用Python打开日志文件2.python读取文件最后一行两种方式3.读取当前时间#xff0c;进行两者相减#xff0c;超时报警4.将内容推送到企业微信5. 关闭日志文件整体代码 1. 使用Python打开日志文件
在开始实时读取日志文件之前#xff0c;我们首先需要打开一个日… 文章目录 1. 使用Python打开日志文件2.python读取文件最后一行两种方式3.读取当前时间进行两者相减超时报警4.将内容推送到企业微信5. 关闭日志文件整体代码 1. 使用Python打开日志文件
在开始实时读取日志文件之前我们首先需要打开一个日志文件。可以使用Python的内置函数open()来打开文件并且还可以设置打开方式和编码方式。下面是打开一个日志文件并指定为只读模式的示例代码
log_file open(path/to/logfile.log, r)请注意这里的path/to/logfile.log需要替换为你要打开的日志文件的实际路径。
2.python读取文件最后一行两种方式
1.常规方法从前往后依次读取 步骤open打开文件。 读取文件把文件所有行读入内存。 遍历所有行提取指定行的数据。 优点简单方便 缺点当文件大了以后时间太慢无法忍受 2.推荐方法 步骤open打开日志文件。 移动文件读取指针到文件末尾。 从后往前移动指针直到合适的位置。 读取文件提取指定行的数据。 优点时间相对固定适合处理大文件
log_file open(C:/Users/qq/Desktop/atmb.log, r)
fname C:/Users/qq/Desktop/atmb.log
with open(fname, r, encodingutf-8) as f: # 打开文件lines f.readlines() # 读取所有行first_line lines[0] # 取第一行last_line lines[-1] # 取最后一行# print(文件 fname 第一行为 first_line)print(文件 fname 最后一行为 last_line)可以将最后一行的内容保存到另一个文件atmb1中
#1.写入单行
file open(C:/Users/qq/Desktop/atmb1.log, modew, encodingutf-8)
# write 写入
file.write(lines[-1])
# 关闭文件不关闭文件可能会出问题
file.close()接着利用下面脚本提取最后一行的第一列出来即可
import codecs
f codecs.open(C:/Users/qq/Desktop/atmb1.log, moder, encodingutf-8) # 打开txt文件以‘utf-8编码读取
line f.readline() # 以行的形式进行读取文件
list []
while line:a line.split(,) # 当数据以“”分隔时用line.split(,)b a[0:1] # 选取需要读取数据的列数list.append(b) # 将数据添加在list中line f.readline()print(b)3.读取当前时间进行两者相减超时报警
4.将内容推送到企业微信
# 3、企业微信机器人发送消息提供给企业微信发送图片信息所需import requests
import jsonclass WXWork_SMS :# 文本类型消息def send_msg_txt(self) :headers {Content-Type : text/plain}send_url https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyf3b5cda5-4411-4341-bd22-c041c55cd1b3xsend_data {msgtype: text, # 消息类型此时固定为texttext: {content: c,}}res requests.post(url send_url, headers headers, json send_data)print(res.text)if __name__ __main__ :sms WXWork_SMS()sms.send_msg_txt()5. 关闭日志文件
在结束对日志文件的操作后我们需要关闭文件以释放资源。可以使用Python的close()函数来关闭打开的日志文件。下面是一个示例代码
log_file.close()在本文中我们介绍了如何使用Python实时读取日志文件。通过打开日志文件、实时读取日志文件的新内容、实时读取日志文件的更新部分以及关闭日志文件等步骤我们可以灵活地获取并分析系统的日志信息。
整体代码
log_file open(C:/Users/qq/Desktop/atmb.log, r)
fname C:/Users/qq/Desktop/atmb.log
with open(fname, r, encodingutf-8) as f: # 打开文件lines f.readlines() # 读取所有行first_line lines[0] # 取第一行last_line lines[-1] # 取最后一行# print(文件 fname 第一行为 first_line)# print(文件 fname 最后一行为 last_line)print(lines[-1])
#1.写入单行
file open(C:/Users/qq/Desktop/atmb1.log, modew, encodingutf-8)
# write 写入
file.write(lines[-1])
# 关闭文件不关闭文件可能会出问题
file.close()import codecs# 读取并保存txt文件数据前三列数据
f codecs.open(C:/Users/qq/Desktop/atmb1.log, moder, encodingutf-8) # 打开txt文件以‘utf-8编码读取
line f.readline() # 以行的形式进行读取文件
list []
while line:a line.split(,) # 当数据以“”分隔时用line.split(,)b a[0:1] # 选取需要读取数据的列数list.append(b) # 将数据添加在list中line f.readline()print(b)c .join(map(str, b)) # 将数组转换为字符串企业微信无法发送数组b需要转换为字符串cprint(c)# 3、企业微信机器人发送消息提供给企业微信发送图片信息所需import requests
import jsonclass WXWork_SMS :# 文本类型消息def send_msg_txt(self) :headers {Content-Type : text/plain}send_url https://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyf3b5cda5-4411-4341-bd22-c041c55cd1b3xsend_data {msgtype: text, # 消息类型此时固定为texttext: {content: c,}}res requests.post(url send_url, headers headers, json send_data)print(res.text)if __name__ __main__ :sms WXWork_SMS()sms.send_msg_txt()