zoukankan      html  css  js  c++  java
  • python检索特定内容的文本文件

    windows环境下python2.7
    脚本指定一个参数作为要检索的字符串
    例如: >find.py ./ hello

    # coding=utf-8
    import os
    import sys
    
    # 找到当前目录下的所有文本文件
    
    
    def findFile(path):
        f = []
        d = []
        l = os.listdir(path)
        for x in l:
            if os.path.isfile(os.path.join(os.getcwd() + "\", x)):
                f.append(x)
            else:
                d.append(x)
        return f, d  # 返回文件和目录的列表
    # print x, "
    ", y
    
    # 统计一个文本内字符串的个数
    
    
    def findstrCount(file, strToFind):
        count = 0
        thefile = open(file, 'rb')
        while True:
            buffer = thefile.read()
            if not buffer:
                break
            count += buffer.count(strToFind)
        thefile.close()
        return count
    
    # 遍历文件列表中,包含特定字符串的文件
    
    
    def findstr(file, str):
        # f = open(file, "r+")
        # if f.read().find(str) != -1:
        #     s = os.getcwd() + "\" + file
        # else:
        #     s = "None"
        # f.close()
        i = 1
        global s
    
        for line in open(file):
                # return is index of the str start position.
            if line.find(str) != -1:
                s = os.getcwd() + "\" + file + "------>line:%d" % (i)
                print s
            i = i + 1
        return s
    
    L = []  # 全局变量,存放找到的目标文件
    
    
    def find(p, str):
        try:
            f, d = findFile(p)
            for x in f:
                Ret = findstr(x, str)
                if Ret:
                    L.append(Ret)
            if d:
                for x in d:
                    os.chdir(x)
                    find("./", str)
                    os.chdir('../')
        except Exception, e:
            print e
        finally:
            pass
    
    if __name__ == '__main__':
        s = 0
        find(sys.argv[1], sys.argv[2])
    
  • 相关阅读:
    sqlserver 智能提示插件
    支付相关-算法知识2
    支付相关-算法知识1
    支付相关-证书知识学习4
    支付相关-证书知识学习3
    支付相关-证书知识学习2
    getID3类的学习使用
    ThinkPHP 的 Vender的简单实用
    postman的简单使用
    js 实现点击复制文本内容
  • 原文地址:https://www.cnblogs.com/hystill/p/13783182.html
Copyright © 2011-2022 走看看