香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

python简单文本处理的方法


时间:2021-12-08 14:53 作者:admin610456


本文实例讲述了python/' target='_blank'>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-0avgFirstDraw = 0; #8-2avgLoadImage = 0; #11-5avgSecondDraw = 0;#13-10fobj = open("F:\log.txt","r")imageTimeSta = {}dic = {}path = ""idx = 0for 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] = timefobj.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

log.txt文件如下:

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

希望本文所述对大家的Python程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)