zoukankan      html  css  js  c++  java
  • Python对文本文件逐行扫描,将含有关键字的行存放到另一文件

    #逐行统计关键字行数,并将关键字所在行存放在新的文件中
    keyword = "INFO"
    b = open("C:\Users\xxx\Documents\new.txt", "w",encoding='UTF-8')
    a = open("C:\Users\xxx\Documents\log-count-data.txt", "r",encoding='UTF-8') #注意此处的转义字符
    count=len(open(r"C:\Users\xxx\Documents\log-count-data.txt",'r',encoding='UTF-8').readlines())#使用len+readlines读取行数
    #print(count)
    
    i = 0
    while i < count:#使用循环遍历所有行,逐行判断,只要有关键字,就存到新文件
        line = a.readline()
        if keyword in line:#此处注意代码缩进
            print(line)
            b.write(line + '
    ')#注意每写一行都需要换行
        i+=1
    
    row=len(open(r"C:\Users\xxx\Documents\new.txt",'r',encoding='UTF-8').readlines())#统计新文件有多少行 
    
    a.close()
    b.close()
    
    print("一共有%d行"   %count)
    print("含有%s关键字的有%d行"   %(keyword,row))#此处使用格式化方法 百分号+括号

    此篇主要涉及文件的读写技巧,逐行匹配,总体逻辑是比较简单的,主要是编码过程中,需要对缩进、格式化和其他一些细节进行思考。

    log-count-data.txt数据文件来自阿里云批量计算的示例  https://help.aliyun.com/document_detail/28010.html?spm=a2c4g.11186623.6.553.MW98di

  • 相关阅读:
    数据仓库与数据挖掘的一些基本概念
    System.currentTimeMillis();
    html练习(3)
    HDU 1556 Color the ball【算法的优化】
    ubuntu12.04 安装配置jdk1.7
    java中的switch用String作为条件
    oracle中 connect by prior 递归算法
    C#复习题
    AngularJS:Http
    AngularJS:Service
  • 原文地址:https://www.cnblogs.com/BH8ANK/p/8876553.html
Copyright © 2011-2022 走看看