最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python簡單文本處理的方法

 更新時間:2015年07月10日 11:16:32   作者:speedmancs  
這篇文章主要介紹了python簡單文本處理的方法,涉及Python針對文本文件及字符串操作的相關技巧,需要的朋友可以參考下

本文實例講述了python簡單文本處理的方法。分享給大家供大家參考。具體如下:

由于有多線程的影響,c++項目打印出來的時間順序不一致,導致不太好在excel中統(tǒng)計,故使用python寫了段腳本來解決之。涉及到如下方面

1. txt文本的讀取,utf8的處理
2. 字符串的基本操作
3. dict的基本操作
4. list(數(shù)組)的基本操作

#!/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

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  13358
leave loadImage at  13358
enter DrawClient at  13358
leave DrawClient at  13405
==================================================================================

希望本文所述對大家的Python程序設計有所幫助。

相關文章

  • 探討python??pandas.DataFrame.to_json?函數(shù)

    探討python??pandas.DataFrame.to_json?函數(shù)

    這篇文章主要介紹了python??pandas.DataFrame.to_json?函數(shù)示例詳解,to_json?函數(shù)提供了靈活的參數(shù)設置,使得?pandas?數(shù)據(jù)框能夠以多種格式導出為?JSON?文件,需要的朋友可以參考下
    2024-07-07
  • 如何配置關聯(lián)Python 解釋器 Anaconda的教程(圖解)

    如何配置關聯(lián)Python 解釋器 Anaconda的教程(圖解)

    這篇文章主要介紹了如何配置關聯(lián)Python 解釋器 Anaconda的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習火鍋工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python中requests庫的學習方法詳解

    Python中requests庫的學習方法詳解

    這篇文章主要為大家詳細介紹了Python中requests庫的學習方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • SQLAlchemy的主要組件詳細講解

    SQLAlchemy的主要組件詳細講解

    SQLAlchemy是一個基于Python實現(xiàn)的ORM框架,能滿足大多數(shù)數(shù)據(jù)庫操作需求,同時支持多種數(shù)據(jù)庫引擎(SQLite,MySQL,Postgresql,Oracle等),這篇文章主要介紹了SQLAlchemy的主要組件有哪些,本文給大家介紹的非常詳細,對大家的學習具有一定的參考借鑒價值,需要的朋友可以參考
    2023-08-08
  • python使用tomorrow實現(xiàn)多線程的例子

    python使用tomorrow實現(xiàn)多線程的例子

    今天小編就為大家分享一篇python使用tomorrow實現(xiàn)多線程的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python中對象的引用與復制的使用

    Python中對象的引用與復制的使用

    引用和復制是Python處理對象的重要概念,本文主要介紹了Python中對象的引用與復制的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-12-12
  • python動態(tài)性強類型用法實例

    python動態(tài)性強類型用法實例

    這篇文章主要介紹了python動態(tài)性強類型用法,對比C#實例分析了python動態(tài)性強類型的使用方法,需要的朋友可以參考下
    2015-05-05
  • Python文件打開方式實例詳解【a、a+、r+、w+區(qū)別】

    Python文件打開方式實例詳解【a、a+、r+、w+區(qū)別】

    這篇文章主要介紹了Python文件打開方式,結合實例形式詳細分析了Python文件打開函數(shù)的使用及a、a+、r+、w+等屬性功能、使用區(qū)別與相關操作注意事項,需要的朋友可以參考下
    2019-03-03
  • python去重,一個由dict組成的list的去重示例

    python去重,一個由dict組成的list的去重示例

    今天小編就為大家分享一篇python去重,一個由dict組成的list的去重示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 淺談python可視化包Bokeh

    淺談python可視化包Bokeh

    這篇文章主要介紹了淺談python可視化包Bokeh,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02

最新評論

绥化市| 新乡县| 宁强县| 鄱阳县| 石阡县| 隆安县| 鄂托克旗| 阳西县| 高青县| 黄平县| 阿坝县| 固始县| 汝州市| 巴林左旗| 东丽区| 湄潭县| 武陟县| 科技| 道真| 临高县| 梁山县| 阿瓦提县| 长泰县| 旅游| 黄冈市| 山东| 青阳县| 迁安市| 弋阳县| 阳山县| 沽源县| 凌云县| 泾阳县| 光泽县| 攀枝花市| 京山县| 临夏县| 朝阳市| 广丰县| 囊谦县| 西吉县|