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

小程序大功能

对一批报文要处理要处理里面的得分,发现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 处理固定格式文本数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Python中的文本处理

    字符串 -- 不可改变的序列 如同大多数高级编程语言一样,变长字符串是 Python 中的基本类型.Python 在"后台"分配内存以保存字符串(或其它值),程序员不必为此操心.Python 还有一些其它高级语言没有的字符串处理功能. 在 Python 中,字符串是"不可改变的序列".尽管不能"按位置"修改字符串(如字节组),但程序可以引用字符串的元素或子序列,就象使用任何序列一样.Python 使用灵活的"分片"操作来引用子

  • python处理文本文件并生成指定格式的文件

    import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(filePath,model): print("打开文件") print(filePath) print(model) return open(filePath,model) #获取需要处理的文件 def getProcFile(path): return os.listdir(path) #判断是否满足某个条件,如果满足则执行 def isTru

  • Python实现简单文本字符串处理的方法

    本文实例讲述了Python实现简单文本字符串处理的方法.分享给大家供大家参考,具体如下: 对于一个文本字符串,可以使用Python的string.split()方法将其切割.下面看看实际运行效果. mySent = 'This book is the best book on python!' print mySent.split() 输出: ['This', 'book', 'is', 'the', 'best', 'book', 'on', 'python!'] 可以看到,切分的效果不错,但

  • python 读取文本文件的行数据,文件.splitlines()的方法

    一般跟踪训练的ground_truth的数据保存在文本文文件中,故每一行的数据为一张图片的标签数据,这个时候读取每一张图片的标签,具体实现如下: test_txt = '/home/zcm/tensorf/siamfc-tf-master/data/Biker/groundtruth.txt' def load_label_set(label_dir): label_folder = open(label_dir, "r") trainlines = label_folder.read

  • python处理文本文件实现生成指定格式文件的方法

    本文所述实例为Python处理文本文件并生成指定格式文件的方法,具体实现功能代码如下所示: import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(filePath,model): print("打开文件") print(filePath) print(model) return open(filePath,model) #获取需要处理的文件 def getProcFile(path): return

  • Python处理文本文件中控制字符的方法

    控制字符 控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换行).CR(回车).FF(换页).DEL(删除).BS(退格).BEL(振铃)等:通讯专用字符:SOH(文头).EOT(文尾).ACK(确认)等. 具体控制字符一共有下面两个集合: 七位ASCII定义了33个代码作为控制字符,它们是0到31.以及127,(位于0x00-0x1F及0x7F). 兼容的八位ISO/IEC 8859-1加上了从ISO/IEC 6

  • Python文本处理之按行处理大文件的方法

    以行的形式读出一个文件最简单的方式是使用文件对象的readline().readlines()和xreadlines()方法. Python2.2+为这种频繁的操作提供了一个简化的语法--让文件对象自身在行上高效迭代(这种迭代是严格的向前的). 为了读取整个文件,可能要使用read()方法,且使用字符串的split()来将它拆分WEIGHT行或其他块. 下面是一些例子: >>> for line in open('chap1.txt'): # Python 2.2+ ... # proc

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

    小程序大功能 对一批报文要处理要处理里面的得分,发现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): # 三个参数:分别返

  • Python处理文本数据的方法详解

    目录 前言 用python处理文本数据 用python处理数值型数据 前言 HI,好久不见,今天是关闭朋友圈的第60天,我是野蛮成长的AC-Asteroid. 人生苦短,我用Python,通过短短两周时间自学,从基础知识到项目实践,在这个过程中深刻体会到这款语言的魅力,今天带来一个有趣的项目,用Python处理文本数据,一起来看看今天的问题吧. 用python处理文本数据 实验目的 熟悉python的基本数据结构,以及文件的输入与输出. 实验数据 利用xxxx年xx机器学习会议的评测数据和评测任

  • python和flask中返回JSON数据的方法

    在python中可以使用json将数据格式化为JSON格式: 1.将字典转换成JSON数据格式: s=['张三','年龄','姓名'] t={} t['data']=s return json.dumps(t,ensure_ascii=False) 2.将列表转换成JSON数据格式: s=['张三','年龄','姓名'] return json.dumps(s,ensure_ascii=False) 使用json转换的在前端显示的数据为JSON字符串. 使用flask的jsonify转换后,在前

  • python多进程提取处理大量文本的关键词方法

    经常需要通过python代码来提取文本的关键词,用于文本分析.而实际应用中文本量又是大量的数据,如果使用单进程的话,效率会比较低,因此可以考虑使用多进程. python的多进程只需要使用multiprocessing的模块就行,如果使用大量的进程就可以使用multiprocessing的进程池--Pool,然后不同进程处理时使用apply_async函数进行异步处理即可. 实验测试语料:message.txt中存放的581行文本,一共7M的数据,每行提取100个关键词. 代码如下: #codin

  • Python简单读写Xls格式文档的方法示例

    本文实例讲述了Python简单读写Xls格式文档的方法.分享给大家供大家参考,具体如下: 1. 模块安装 使用pip install命令安装, 即: pip install xlrd pip install xlwt 如下图: 2. python 代码 import xlrd import xlwt import datetime def set_style(name,height,format,bold=False): style = xlwt.XFStyle() if format.stri

  • 一个Python案例带你掌握xpath数据解析方法

    目录 xpath基本概念 xpath解析原理 环境安装 如何实例化一个etree对象 xpath(‘xpath表达式’) xpath爬取58二手房实例 xpath图片解析下载实例 xpath爬取全国城市名称实例 xpath爬取简历模板实例 xpath基本概念 xpath解析:最常用且最便捷高效的一种解析方式.通用性强. xpath解析原理 1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中 2.调用etree对象中的xpath方法结合xpath表达式实现标签的定位和内容的

  • python使用socket向客户端发送数据的方法

    本文实例讲述了python使用socket向客户端发送数据的方法.分享给大家供大家参考.具体如下: import socket, sys port = 55555 host = 'localhost' data = "test" * 10485760 # 40MB of data s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) byteswritten = 0 while byt

  • python从sqlite读取并显示数据的方法

    本文实例讲述了python从sqlite读取并显示数据的方法.分享给大家供大家参考.具体实现方法如下: import cgi, os, sys import sqlite3 as db conn = db.connect('test.db') cursor = conn.cursor() conn.row_factory = db.Row cursor.execute("select * from person") rows = cursor.fetchall() sys.stdout

  • python中for语句简单遍历数据的方法

    本文实例讲述了python中for语句简单遍历数据的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: for name in ["kak", "John", "Mani", "Matt"]:    print(name) 运行结果如下: 复制代码 代码如下: kak John Mani Matt 希望本文所述对大家的Python程序设计有所帮助.

  • php发送html格式文本邮件的方法

    本文实例讲述了php发送html格式文本邮件的方法.分享给大家供大家参考.具体实现方法如下: <?php $to = "simon@mailexample.com, elaine@mailexample.com"; //设置收件人 $subject = "This is a test"; //设置E-mail主题 //设置E-mail内容: $message = " <html> <head> <title>Thi

随机推荐