• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python简单文本处理的方法

python简单文本处理的方法

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 文本处理,python处理文本文件,python处理中文文本,python文本预处理,python文本分类等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了python简单文本处理的方法。分享给大家供大家参考。具体如下:

由于有多线程的影响,c++项目打印出来的时间顺序不一致,导致不太好在excel中统计,故使用python写了段脚本来解决之。涉及到如下方面

1. txt文本的读取,utf8的处理
2. 字符串的基本操作
3. dict的基本操作
4. list(数组)的基本操作

#!/usr/bin/python
#print "Hello World"
str_seperator = "=================================================================================="
timePointName = ["enter OpenNextImage at",#0
     "enter OpenImage at",#1
     "In OpenImage send On_ImageRefresh at",#2
     "leave OpenImage at",#3
     "leave OpenNextImage at",#4
     "enter LoadImage at",#5
     "decode began at",#6
     "enter DrawClient at",#7
     "leave DrawClient at",#8
     "decode end at",#9
     "in LoadImage send On_ImageRefresh at",#10
     "leave loadImage at",#11
     "second enter DrawClient at",#12
     "second leave DrawClient at" #13
     ]
itemNumber= 0;
avgTotal = 0; #13-0
avgFirstDraw = 0; #8-2
avgLoadImage = 0; #11-5
avgSecondDraw = 0;#13-10
fobj = open("F:\log.txt","r")
imageTimeSta = {}
dic = {}
path = ""
idx = 0
for line in fobj:
  idx = idx + 1
  if idx == 1:
    line = line[3:]
  else:
    pass
  line = line.strip()
  line = line.decode("utf-8").encode("gbk")
  if line == str_seperator:
    if path == "":
      pass
    else:
      imageTimeSta[path] = dic
    dic = {}
    path = ""
    continue
  tabIndex = line.find('\t')
  if tabIndex == -1:
    path = line
    print path
    continue
  tabLastIndex = line.rfind('\t')
  name = line[0:tabIndex]
  time = int(line[tabLastIndex + 1:])
  if name in dic:
    dic["second " + name] = time
  else:
    dic[name] = time
fobj.close()
itemNumber = len(imageTimeSta)
keys = imageTimeSta.keys();
for (k,dic) in imageTimeSta.iteritems():
  avgTotal += dic[timePointName[13]] - dic[timePointName[0]];
  avgFirstDraw += dic[timePointName[8]] - dic[timePointName[2]];
  avgLoadImage += dic[timePointName[11]] - dic[timePointName[5]];
  avgSecondDraw += dic[timePointName[13]] - dic[timePointName[10]];
print 'avgTotal',avgTotal / float(itemNumber)
print 'avgFirstDraw',avgFirstDraw / float(itemNumber)
print 'avgLoadImage',avgLoadImage / float(itemNumber)
print 'avgSecondDraw',avgSecondDraw / float(itemNumber)
#print imageTimeSta

</div>

log.txt文件如下:

enter OpenNextImage at  5124
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\2.JPG
enter OpenImage at  5124
In OpenImage send On_ImageRefresh at  5124
enter LoadImage at  5124
leave OpenImage at  5124
leave OpenNextImage at  5124
decode began at  5124
enter DrawClient at  5140
leave DrawClient at  5155
decode end at  5265
in LoadImage send On_ImageRefresh at  5265
leave loadImage at  5265
enter DrawClient at  5280
leave DrawClient at  5327
==================================================================================
enter OpenNextImage at  6280
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\3.JPG
enter OpenImage at  6280
In OpenImage send On_ImageRefresh at  6280
enter LoadImage at  6280
leave OpenImage at  6296
leave OpenNextImage at  6296
decode began at  6296
enter DrawClient at  6296
leave DrawClient at  6312
decode end at  6437
in LoadImage send On_ImageRefresh at  6437
enter DrawClient at  6437
leave loadImage at  6452
leave DrawClient at  6499
==================================================================================
enter OpenNextImage at  7265
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\4.JPG
enter OpenImage at  7265
In OpenImage send On_ImageRefresh at  7265
leave OpenImage at  7265
leave OpenNextImage at  7265
enter LoadImage at  7265
decode began at  7265
enter DrawClient at  7265
leave DrawClient at  7296
decode end at  7421
in LoadImage send On_ImageRefresh at  7421
enter DrawClient at  7421
leave loadImage at  7437
leave DrawClient at  7483
==================================================================================
enter OpenNextImage at  8062
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\5.JPG
enter OpenImage at  8062
In OpenImage send On_ImageRefresh at  8062
leave OpenImage at  8062
leave OpenNextImage at  8062
enter LoadImage at  8062
decode began at  8062
enter DrawClient at  8062
leave DrawClient at  8077
decode end at  8202
in LoadImage send On_ImageRefresh at  8202
enter DrawClient at  8202
leave DrawClient at  8265
leave loadImage at  8280
==================================================================================
enter OpenNextImage at  8811
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\6.JPG
enter OpenImage at  8811
In OpenImage send On_ImageRefresh at  8811
leave OpenImage at  8811
leave OpenNextImage at  8811
enter LoadImage at  8811
decode began at  8811
enter DrawClient at  8811
leave DrawClient at  8843
decode end at  8968
in LoadImage send On_ImageRefresh at  8968
leave loadImage at  8968
enter DrawClient at  8968
leave DrawClient at  9030
==================================================================================
enter OpenNextImage at  9515
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\7.JPG
enter OpenImage at  9515
In OpenImage send On_ImageRefresh at  9515
leave OpenImage at  9515
leave OpenNextImage at  9515
enter LoadImage at  9515
decode began at  9530
enter DrawClient at  9530
leave DrawClient at  9546
decode end at  9671
in LoadImage send On_ImageRefresh at  9671
enter DrawClient at  9671
leave loadImage at  9671
leave DrawClient at  9733
==================================================================================
enter OpenNextImage at  10171
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\8.JPG
enter OpenImage at  10171
In OpenImage send On_ImageRefresh at  10171
leave OpenImage at  10171
leave OpenNextImage at  10171
enter LoadImage at  10171
decode began at  10186
enter DrawClient at  10186
leave DrawClient at  10202
decode end at  10311
in LoadImage send On_ImageRefresh at  10311
leave loadImage at  10311
enter DrawClient at  10311
leave DrawClient at  10374
==================================================================================
enter OpenNextImage at  10811
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\9.JPG
enter OpenImage at  10811
In OpenImage send On_ImageRefresh at  10811
enter LoadImage at  10811
leave OpenImage at  10811
leave OpenNextImage at  10811
enter DrawClient at  10811
decode began at  10811
leave DrawClient at  10843
decode end at  10952
in LoadImage send On_ImageRefresh at  10952
leave loadImage at  10952
enter DrawClient at  10952
leave DrawClient at  11030
==================================================================================
enter OpenNextImage at  11452
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\10.JPG
enter OpenImage at  11452
In OpenImage send On_ImageRefresh at  11452
leave OpenImage at  11452
leave OpenNextImage at  11452
enter LoadImage at  11452
decode began at  11452
enter DrawClient at  11468
leave DrawClient at  11483
decode end at  11593
in LoadImage send On_ImageRefresh at  11593
enter DrawClient at  11593
leave loadImage at  11608
leave DrawClient at  11655
==================================================================================
enter OpenNextImage at  12077
enter DrawClient at  12077
leave DrawClient at  12108
==================================================================================
enter OpenNextImage at  13124
D:\pics\测试图片\解码性能对比用图\jpeg\较小图\1.jpg
enter OpenImage at  13124
In OpenImage send On_ImageRefresh at  13124
leave OpenImage at  13124
leave OpenNextImage at  13124
enter LoadImage at  13124
decode began at  13124
enter DrawClient at  13139
leave DrawClient at  13155
decode end at  13358
in LoadImage send On_ImageRefresh at  133
  


 

您可能想查找下面的文章:

  • python简单文本处理的方法
  • python实现比较两段文本不同之处的方法
  • Python中处理时间的几种方法小结
  • python进阶教程之文本文件的读取和写入
  • python中合并两个文本文件并按照姓名首字母排序的例子

相关文章

  • 深入解析Python中的lambda表达式的用法
  • tensorflow estimator 使用hook实现finetune方式
  • Python实现的Kmeans++算法实例
  • python使用正则表达式分析网页中的图片并进行替换的方法
  • Python使用SocketServer模块编写基本服务器程序的教程
  • Python实现视频下载功能
  • python 循环while和for in简单实例
  • python使用calendar输出指定年份全年日历的方法
  • Python中操作符重载用法分析
  • python采用getopt解析命令行输入参数实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python CSV模块使用实例
    • 下载给定网页上图片的方法
    • Python脚本获取操作系统版本信息
    • 约瑟夫问题的Python和C++求解方法
    • python类定义的讲解
    • 在Python的web框架中中编写日志列表的教程
    • python中的__init__ 、__new__、__call__小结
    • 使用Python的Bottle框架写一个简单的服务接口的示例
    • 九步学会Python装饰器
    • python使用range函数计算一组数和的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有