python linecache 处理固定格式文本数据的方法

yipeiwu_com6年前Python基础

小程序大功能

对一批报文要处理要处理里面的得分,发现python linecache ,特记录如下。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
''''提取result结果分值'''
 
import linecache
import os
import os.path
 
rootdir = r"./815old/"
 
for parent, dirnames, filenames in os.walk(rootdir): # 三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
  for filename in filenames: # 输出文件信息
    files = os.path.join(parent, filename) # 输出文件路径信息
    count = len(open(files, 'r').readlines()) # 行数
    str = linecache.getlines(files) # 所有文件的字符串
    filename = str[2] #第三行
    if count > 6: # 行数大于5行表示命中
      matchRatio = str[8] #第九行
      print filename[58:-2], " ", matchRatio[15:], "\r"
    else: # 没有命中 matchRatio 赋值0
      print filename[58:-2], " ", '0', "\r"

文本格式如下:

results {
 fileID: "386e86d2e3991de32a028b7e26e58ffd"
 filename: "/opt/vfpgen/video_file/192.168.142.199/video/Avatar.2009.iTALiAN.READNFO.LD.TS.XviD-SiLENT.CD1[S.o.M.].avi"
 filetype: 1
 vfpQueryResults {
  fileID: "09b509f6c625aeb525f6f1c8e09725d6"
  filename: "/opt/SmartVision/system/copyrightfpdb//dbfp/09b509f6c625aeb525f6f1c8e09725d6.DB.cdvs"
  matchScore: 0.85874754
  matchRatio: 0.53333336
  dbID: "copyright_library_db"
  startframe: 16210
  endframe: 97240
 }
}

以上这篇python linecache 处理固定格式文本数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 查找list中的某个元素的所有的下标方法

如下所示: #!/usr/bin/env python #_*_ coding:utf-8 _*_ name = ['hello', 'world', 'a', 'b', 'c',...

python网络编程 使用UDP、TCP协议收发信息详解

UDP UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB...

Python实现向QQ群成员自动发邮件的方法

本文实例讲述了Python实现向QQ群成员自动发邮件的方法。分享给大家供大家参考。具体实现方法如下: 原理: 我们需要先获取QQ群中的所有成员并保存到一个txt文本中去,然后再由pyth...

Python学习小技巧之列表项的排序

本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1: data_list = [6, 9, 1, 3, 0, 10, 100...

如何使用python3获取当前路径及os.path.dirname的使用

这篇文章主要介绍了如何使用python3获取当前路径及os.path.dirname的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...