今天突然想做一个实时读取 日志文件的程序,然后用Python爬虫直接爬取文件,用只读的方式打开避免对 系统 写入日志 造成影响。
上代码:
#! /usr/bin/env python
# coding=utf-8
import subprocess
import time
import chardetp = 0
with open('php_sql_err_2018-11-08.log', 'r') as f:
while True:
line = f.readline()
type = chardet.detect(line) #获取文件编码
#text = line.d
if line:
#time.sleep(1) # 休眠1秒
print line.decode(type["encoding"])
这里用到了chardet模块,该模块可以获取文件编码属性,然后用decode方法直接写入获取的编码属性,就可以解决乱码问题了
参考文件实时读取:python 实时遍历日志文件 - 卑鄙的wo - 博客园
参考读取文件解决乱码问题:python读取文本txt文件乱码问题 - fanyuchen - 博客园