• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Python的幾個文字處理小技巧

    發布: 2007-7-04 20:06 | 作者: admin | 來源:  網友評論 | 查看: 26次 | 進入軟件測試論壇討論

    領測軟件測試網  一直以來,Perl都是以特強的文字處理功能著稱,其實Python在這方面也相當不錯。最近在項目中用到不少Python可圈可點的東西,在這里大概列一下,權當自己的Python Tips。

    1、如果獲取郵件地址?
    我們分析郵件的時候,從From和To頭信息中會提取到類似“DIrk Ye ”的郵件地址,如果我們需要只保留完整的EMail地址,可能需要正則表達式來提取,由于郵件格式的多樣性,可能比較麻煩。Python提供了一個工具函數,可以方便的使用:

    import email.Utils

    def getCleanMailAddress(strAddr):
       emails = email.Utils.parseaddr(strAddr.lower())
       return emails[1]


    2、利用Mimetypes確定文件的擴展名:
    在郵件分析中,經常會碰到沒有指定文件名或者擴展名的附件,我們可以根據附件的MimeType來猜測其應有的擴展名:

    import mimetypes

    def getFileExtension(strContentType):
       guessmimes = mimetypes.guess_all_extensions(strContentType)
       if guessmimes:
         return guessmimes[-1]
       else:
         return ''

    另外,mimetypes.types_map中包含了所有運行系統可識別的MimeType,如果沒有你期望的類型,可以通過mimetypes.add_type(’audio/midi’, ‘.mid’)方法來添加自己的東西,甚至可以作出修改。

    3、使用證則表達式從字符串中提取指定的模式:
    Python的正則表達式也是非常強大的,有搜索、匹配、抽取等。有時候抽取是有點麻煩但非常有用的功能。假設我們會有大量的文本類似:

    abcd@mypdx.com
    aaaa@mypdx.com
    n234f@mypdx.com

    其中前半部分的名稱都是數字和字母的組合,現在我們使用證則表達式抽取名字部分:

    import re

    def getUserName(strAddr):
       addr_re = re.compile('^([0-9a-z]+)@(.*)')
       unames = addr_re.search(strAddr)
       if unames is not None:
         return mptos.group(1)
       else:
         return ''

    Python在文字處理方面還有很多特點,我只能把用到的東西列一下。有不少專門講解Python相關東西的書籍,有的還是免費的;比如專門講解Python文本處理的Text Processing in Python,實用而精彩,而另外一本Python Cookbook也是相當不錯的讀物,現在已經有第二版了,覆蓋了Python2.3、2.4的新特性;去Python主站看看有什么適合你的書:http://wiki.python.org/moin/PythonBooks

    Python Cookbook相關的兩篇文章:

    Cooking with Python, Part 1
    Cooking with Python, Part 2

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>