Python 查找binlog文件

经常需要在 binlog 中查找一些日志信息,于是写了一个简单的脚本。对于非常巨大的 binlog 文件,该脚本可能会速度慢,毕竟还是用的 list,暂时没想到好办法。

详细看代码:

#/usr/bin/python

#2016-04-12

#search string in the binlogs

#usage:
#put this file into binlog-dir,exec as:
#"python test.py 111 123 update" or
#"python test.py 111 123 update and insert" or
#"python test.py 111 123 update or delete"
#the nums are the binlog-num.

import sys
import subprocess

def find_str(files):
    for file in files:
        comm = "mysqlbinlog {0}".format(file)
        lines = subprocess.Popen(comm, shell=True, stdout=subprocess.PIPE)
        lines = lines.stdout.readlines()
        for line in lines:
            line = line.lower()
            if len(sys.argv) == 4:
                if sys.argv[3] + ‘ ‘ in line:
                    yield line
            elif len(sys.argv) == 6 and sys.argv[4] == "and":
                if sys.argv[3] + ‘ ‘ and sys.argv[5] + ‘ ‘ in line:
                    yield line
            elif len(sys.argv) == 6 and sys.argv[4] == "or":
                if sys.argv[3] + ‘ ‘ or sys.argv[5] + ‘ ‘ in line:
                    yield line

if __name__ == "__main__":
    start = sys.argv[1]
    end = sys.argv[2]
    files = ["updatelog.{0:06d}".format(i) for i in range(int(start), int(end)+1)]    

    f = find_str(files)
    for i in f:
        print(i)
时间: 2024-10-11 03:22:32

Python 查找binlog文件的相关文章

python查找相同文件-UNIQ File-wxPython版本

今天用wxPython做了一个GUI程序,我称之为UNIQ File,实现查找指定目录内的相同文件,主要原理是计算文件的md5值(计算前先找出文件大小相同的文件,然后计算这些文件的md5值,而不是所有文件都计算,大大减少了md5的计算量),加入了多线程功能. 运行该程序需要安装wxPython. 界面图 源代码: UNIQFile-wxPython.py 1 # -*- coding: gbk -*- 2 3 ''' 4 Author:@DoNotSpyOnMe 5 Blog: http://w

【转】Python查找某文件夹下的所有excel文件

# -*- coding: utf-8 -*- # author:baoshan import os dirname = r'D:\0.shenma\01.聊城资料\01.数据资料\02.聊城年鉴数据\2017年鉴' filename = ".xls" result = [] def search(dirname=dirname, filename=""): for item in os.listdir(dirname): item_path = os.path.j

用python查找在指定目录下特定文件夹下的指定文件

本代码是在python2.*上边所写. 功能:在指定目录下查找特定文件夹下的特定文件. 实例:查找在packages目录下文件夹名为values下的strings.xml文件 #!/usr/bin/env python import os def walk_dir(path): filter_file_name = 'strings.xml' for root, dirs, files in os.walk(path): for dir_item in dirs: if dir_item ==

python 查找文件内容

输入查找的文件夹路径,要查找的内容关键字(可以指定多个),要查找的文件类型(可以是多个),搜索出符合条件的文件,并记录所有符合条件的行号及行内容. 写的感觉有点冗余,但好歹还能使用^-^,主要是方便手头工作. # coding:utf8 import os from os.path import * # enter the search dir print r"""Search file tool(Ver1.0) dirpath /k keywords [/e fileext

Python实现对文件夹内文本文件递归查找

经常有这样的需求:在一个文本文件里查找特定字符串,这很好实现,用任何文本查看工具几乎都可以做到.而有的时候,想查找一个文件夹下的所有文本文件(特定后缀),我就遇到了这样的问题:想找到Blender的源代码中关于SPH的实现代码.于是写了下面的简单程序: #!/usr/bin/env python3 import os def Search(rootDir, suffixes, arg): for lists in os.listdir(rootDir): path = os.path.join(

python筛选特定文件的信息按照格式输出到txt

最近搞数据库,为了把图片文件的信息导入数据库表中,我开始研究python列出图片文件,其中发现因为IE临时文件里有非常多的不需要的图片,就需要筛选掉一些文件. 最终用python输出了所有需要的图片文件的路径.文件名.时间到一个txt 1 import os 2 import time 3 4 def IsObjfile( path , filename , suffix , shield ): 5 #判断文件是否以suffix中的串结尾以及是否有不需要的文件路径 6 flag1 = False

python 查找IP地址归属地

#!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 #writer by keery_log #Create time:2013-10-30 #Last update:2013-10-30 #用法: python chk_ip.py www.google.com |python chk_ip.py 8.8.8.8 |python chk_ip.py ip.txt import signal import urllib import j

python查询windows文件

闲着没事,使用python写了一个查询windows中盘符文件的程序 代码: import os import winreg class Find_assign_file: """ drive 要查找的主路径,这是一个列表 file_find 要查找的文件名 file_mode 查找形式 信息为: 'i' 无误查找,根据用户输入的完整的文件名以及后缀信息进行查找 'h' 半模糊查找,根据用户输入的不包括后缀信息的文件名进行查找 'd' 模糊查找,根据用户输入的部分文件名信息进

Python操作Zip文件

Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # 默认模式r,读 azip = zipfile.ZipFile('bb.zip') # ['bb/', 'bb/aa.txt'] # 返回所有文件夹和文件 print(azip.namelist()) # # 返回该zip的文件名 print(azip.filename) # 压缩文件里bb文件夹下的