#!/bin/env python

#coding:utf8

'''

awk 打印指定行数

sed 打印指定行数

python 打印指定位置,某长度字符串

awk 耗时最长,很长

sed awk 时间一半

python 耗时 基本忽略不计

使用脚本监控日志文件的时候,每次记录上次退出的位置

python效率最高.

'''

import os

from  time import time

from os.path import getsize

testfile='/dev/shm/%s' % time()

#生成文件总行数 10**8 大约800M  10**7 大约 80M

linesize=10**7

#提取文件中间行

halfline=int(linesize / 2)

#文件大小一半

halffilesize=0

#测试次数

num=10

#生成文件大小

filesize=0

r=[]

def create_testfile():

f=open(testfile,'w')

for i in xrange(linesize):

f.write(str(i)+'\n')

f.close()

def time1(func):

t1=time()

func()

t2=time()

t=t2-t1

print func.func_name,t

r.append("%s:\t\t%s" % (func.func_name,str(t) ) )

def awk():

for i in range(num):

os.system("/bin/awk 'NR==%s { print $0 }' %s " % (halfline,testfile) )

def sed():

for i in range(num):

os.system("/bin/sed -n %sp %s " % (halfline,testfile) )

#os.system("/bin/sed -n %sp %s|awk '{print $0}' " % (halfline,testfile) )

def py():

for i in range(num):

fn=open(testfile)

#读取

fn.seek(halffilesize)

print fn.read(7)

fn.close()

print "create test file!"

create_testfile()

filesize=getsize(testfile)

halffilesize=int(filesize/2)

time1(awk)

time1(sed)

time1(py)

print "\n\n"

print "halffilesize:\t\t",halffilesize

print "filesize:\t\t",filesize

os.system('/bin/ls -lh %s' % testfile)

print "\t"

for i in r:

print i

os.unlink(testfile)

python awk 读文件_测试python awk sed 读取文件指定位置时的性能相关推荐

  1. mysql 读取文件_关于mysql:逐行读取文件而不将整个文件加载到内存中

    我正在使用50 Gb MySQL导出文件,并对其执行脚本操作列表以转换为SQLite3可加载形式(我从这里得到的线索:脚本将mysql dump sql文件转换为可以导入sqlite3的格式D b ) ...

  2. python 埋点 库_测试~python库介绍(一) opencv

    前言 从事测试工作已有4年了,期间通过python编写了很多自动化脚本,接下来的日子和大家分享一下测试工作上常用的python库,适合常年从事黑盒测试的同学了解一些入门级技巧. UI响应时间评测~前身 ...

  3. 用python玩转数据测试答案_MOOC_用Python玩转数据_测试答案

    利息.据测股息.红利所得以每次收入额为应纳税所得额.A:错B:对 利息保障倍数中,试答利息支出:试答A:不包括财务费用中的利息支出B:包括计入固定资产成本的资本化利息C:包括财务费用中的利息支出D:不 ...

  4. Python read()函数:按字节(字符)读取文件

    Python read()函数:按字节(字符)读取文件 前一节中,介绍了如何通过 open() 函数打开一个文件.在其基础上,本节继续讲解如何读取已打开文件中的数据. Python 提供了如下 3 种 ...

  5. java读文件几种方式_java中读取文件的方式有哪几种

    java中读取文件的方式有哪几种 发布时间:2020-06-19 13:36:48 来源:亿速云 阅读:135 作者:鸽子 读取文件有多种方式,基于传统的输入流方式或基于nio的Buffer缓冲对象和 ...

  6. 文件------概念、基本操作、打开文件的方式、按行读取文件内容、复制文件、文件/目录的常用管理操作、文本文件的编码格式、练习1-4

    文件的概念 文件的概念 计算机的文件,就是存储在某种长期储存设备上的一段数据 长期存储设备包括:硬盘.U盘.移动硬盘.光盘... 文件的作用 将数据长期保存下来,在需要的时候使用 文件的存储方式 在计 ...

  7. MATLAB如何读取文件某一行的内容,如何读取文件的某一行

    C语言 怎么用fgets()读取一个txt文件中的任意行的信息 C语言 怎么用fgets()读取一个txt文件中的任意行的信息 比如 szhfias sdf如果使用fgets()读取某个文件,第一次读 ...

  8. 02功能之读写文件流操作(C语言实现读取文件指定一行)

    02功能之读写文件流操作(C语言实现读取文件指定一行) 1 C语言读取文件指定一行 // 读取文件指定一行 int ReadLine1(const char *fileName, char outBu ...

  9. 逐行读文件_用python比较两个文件的内容是否相同

    有两个文件,考虑编写算法,尽可能快的比较这两个文件的内容是否相同.看起来这是一个非常简单的事情,但仔细思考就会发现,有很多可以琢磨的地方.我在学习filecmp模块的cmp方法时,阅读它的源码,感慨于 ...

最新文章

  1. “封杀中兴”后,TensorFlow 等也被“闭源”怎么办?(附中兴最新声明)
  2. c语言商店自动销售,c语言商店商品管理系统设计报告与源代码.doc
  3. C#实现HTTP协议:多线程文件传输
  4. 甜甜圈和拓扑学也有关系,你想的到吗?
  5. 【es】FATAL [circuit_breaking_exception] [parent] Data too large, data for [<http_request>] would be
  6. matlab的save函数用法
  7. 做程序员的老婆应该注意的一些事情
  8. python wifi暴力破解(tk)
  9. 用计算机弹出少年的歌谱,最近很火《少年》的歌谱?
  10. wps目录怎么加一条_WPS中如何正确插入目录_WPS怎么做目录
  11. [小技巧1]Word或WPS文献引用、交叉引用方括号编号
  12. 子弹散射——Unity随手记(2021.2.4)
  13. [VM]解决虚拟机声音滋滋声
  14. matlab 画偏振态,光的偏振态分析MATLAB分析
  15. Matlab中exp函数的用法
  16. 【VRP问题】基于模拟退火遗传实现带时间窗的车辆路径规划问题
  17. apollo_目标跟踪
  18. MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
  19. VS2017制作POV-LED取模软件 可对图片取模
  20. 小白学习Python的第七天之集合和字符串

热门文章

  1. 【JUC并发编程10】阻塞队列
  2. 面试题:一条 sql 语句是如何经过 MySQL 的体系结构的?
  3. MySQL的又一神器-锁,MySQL面试必备
  4. 插入排序算法 及其二分搜索优化版 C++代码实现 恋上数据结构笔记
  5. ContentValues(Java)
  6. visio 科学图形包_R可视乎|混合多个图形
  7. python pandas读写excel_python pandas读写excel
  8. MySQL多表查询核心优化
  9. JVM监控-命令行篇
  10. 输出整数的位数、按位输出(两种)以及逆序输出