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 + '\n')#注意每写一行都需要换行
    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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM