欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python簡(jiǎn)單文本處理的方法

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

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

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

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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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\測(cè)試圖片\解碼性能對(duì)比用圖\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
==================================================================================

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python-接口開(kāi)發(fā)入門解析

    Python-接口開(kāi)發(fā)入門解析

    這篇文章主要介紹了Python-接口開(kāi)發(fā)入門解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python解決Fedora解壓zip時(shí)中文亂碼的方法

    python解決Fedora解壓zip時(shí)中文亂碼的方法

    這篇文章給大家介紹了如何利用python解決Fedora解壓zip時(shí)中文亂碼的方法,對(duì)大家具有一定參考借鑒價(jià)值,有需要的朋友們可以參考學(xué)習(xí),下面來(lái)一起看看吧。
    2016-09-09
  • 深入探究Flask的兩個(gè)高級(jí)特性之藍(lán)圖和JWT認(rèn)證

    深入探究Flask的兩個(gè)高級(jí)特性之藍(lán)圖和JWT認(rèn)證

    本文將探討 Flask 的兩個(gè)高級(jí)特性:藍(lán)圖(Blueprints)和 JSON Web Token(JWT)認(rèn)證,藍(lán)圖讓我們可以將應(yīng)用模塊化,以便更好地組織代碼;而 JWT 認(rèn)證是現(xiàn)代 Web 應(yīng)用中常見(jiàn)的一種安全機(jī)制,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2023-08-08
  • python如何輸出反斜杠

    python如何輸出反斜杠

    在本篇內(nèi)容中小編給大家整理了一篇關(guān)于python怎么輸出反斜杠的相關(guān)基礎(chǔ)文章,有興趣的朋友們可以學(xué)習(xí)參考下。
    2020-06-06
  • PyCharm常用配置和常用插件(小結(jié))

    PyCharm常用配置和常用插件(小結(jié))

    這篇文章主要介紹了PyCharm常用配置和常用插件(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python urllib爬蟲(chóng)模塊使用解析

    python urllib爬蟲(chóng)模塊使用解析

    這篇文章主要介紹了python urllib爬蟲(chóng)模塊使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python測(cè)試攻略pytest.main()隱藏利器實(shí)例探究

    python測(cè)試攻略pytest.main()隱藏利器實(shí)例探究

    在Pytest測(cè)試框架中,pytest.main()是一個(gè)重要的功能,用于啟動(dòng)測(cè)試執(zhí)行,它允許以不同方式運(yùn)行測(cè)試,傳遞參數(shù)和配置選項(xiàng),本文將深入探討pytest.main()的核心功能,提供豐富的示例代碼和更全面的內(nèi)容,
    2024-01-01
  • Python的Lambda函數(shù)用法詳解

    Python的Lambda函數(shù)用法詳解

    在Python中有兩種函數(shù),一種是def定義的函數(shù),另一種是lambda函數(shù),也就是大家常說(shuō)的匿名函數(shù)。這篇文章主要介紹了Python的Lambda函數(shù)用法,需要的朋友可以參考下
    2019-09-09
  • Windows下Anaconda和PyCharm的安裝與使用詳解

    Windows下Anaconda和PyCharm的安裝與使用詳解

    這篇文章主要介紹了Windows下Anaconda和PyCharm的安裝與使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python列表與列表算法詳解(2)

    python列表與列表算法詳解(2)

    這篇文章主要介紹了Python的列表和列表算法,小編感覺(jué)這篇文章具有一定參考價(jià)值,需要的朋友可以了解下,希望能給你帶來(lái)幫助
    2021-08-08

最新評(píng)論