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

Python通過正則表達式選取callback的方法

 更新時間:2015年07月18日 14:55:29   作者:鑒客  
這篇文章主要介紹了Python通過正則表達式選取callback的方法,涉及Python正則表達式及回調(diào)函數(shù)的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Python通過正則表達式選取callback的方法。分享給大家供大家參考。具體如下:

最近在瞎想怎么通過xpath去精確抓取文章的正文,跟parselets類似的想法,只不過更簡單。

代碼設計上采用正則表達式匹配URL,再選擇callback handler的方式,主要參考web.py的分發(fā)器(Dispatcher)。

當然,這個實現(xiàn)比較老土一些,全部用function的方式回調(diào),沒有用類。

#!/bin/env python
import re, sys
# Define parser first.
def baidu(username):
  # Business logic
  return "Using parser Baidu. and the user's name is: %s." % username
def qzone(uin):
  # Business logic
  return "Using parser Qzone, and the user's QQ is: %s." % uin
# From web.py
def group(seq, size):#{{{
  """
  Returns an iterator over a series of lists of length size from iterable.
    >>> list(group([1,2,3,4], 2))
    [[1, 2], [3, 4]]
    >>> list(group([1,2,3,4,5], 2))
    [[1, 2], [3, 4], [5]]
  """
  def take(seq, n):
    for i in xrange(n):
      yield seq.next()
  if not hasattr(seq, 'next'):
    seq = iter(seq)
  while True:
    x = list(take(seq, size))
    if x:
      yield x
    else:
      break
#}}}
def parser_init(url,mapping):
  for pat, what in group(mapping,2):
    result = re.compile('^' + pat + '$').match(url)
    if result:
      return what, [x for x in result.groups()]
  return None, None
if __name__ == '__main__':
  mapping = (
      'http://(?:hi|space).baidu.com/([^/]+)(?:/.*)?','baidu',
      'http://(\d+).qzone.qq.com(?:/.*)?','qzone',
      )
  (func, args) = parser_init(sys.argv[1],mapping)
  if func:
    callback = func
    if func in globals():
      callback = globals()[func]
    if callable(callback):
      print callback(*args)
  else:
    print 'No parser found.';

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

相關(guān)文章

  • python如何利用plt.legend()添加圖例代碼示例

    python如何利用plt.legend()添加圖例代碼示例

    用python的matplotlib畫圖時,往往需要加圖例說明,下面這篇文章主要給大家介紹了關(guān)于python如何利用plt.legend()添加圖例的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Python實現(xiàn)文件按照日期命名的方法

    Python實現(xiàn)文件按照日期命名的方法

    這篇文章主要介紹了Python實現(xiàn)文件按照日期命名的方法,涉及Python針對文件的遍歷、讀寫及時間操作相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • 使用Python實現(xiàn)從各個子文件夾中復制指定文件的方法

    使用Python實現(xiàn)從各個子文件夾中復制指定文件的方法

    今天小編就為大家分享一篇使用Python實現(xiàn)從各個子文件夾中復制指定文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python抽象基類用法實例分析

    python抽象基類用法實例分析

    這篇文章主要介紹了python抽象基類用法,實例分析了Python抽象基類的使用方法與相關(guān)注意事項,需要的朋友可以參考下
    2015-06-06
  • python opencv 實現(xiàn)對圖像邊緣擴充

    python opencv 實現(xiàn)對圖像邊緣擴充

    今天小編就為大家分享一篇python opencv 實現(xiàn)對圖像邊緣擴充,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python類的專用方法實例分析

    Python類的專用方法實例分析

    這篇文章主要介紹了Python類的專用方法,實例分析了__init__、__del__、__repr__等專用方法的應用技巧,需要的朋友可以參考下
    2015-01-01
  • Python開發(fā)圍棋游戲的實例代碼(實現(xiàn)全部功能)

    Python開發(fā)圍棋游戲的實例代碼(實現(xiàn)全部功能)

    圍棋是一種古老而復雜的策略棋類游戲,起源于中國,已有超過2500年的歷史,本文介紹了如何用Python開發(fā)一個簡單的圍棋游戲,實例代碼涵蓋了游戲的基本規(guī)則、界面設計、棋盤實現(xiàn)、棋子管理、游戲邏輯等多個方面,通過逐步實現(xiàn)落子、吃子、判斷勝負等功能
    2024-12-12
  • 解決uWSGI的編碼問題詳解

    解決uWSGI的編碼問題詳解

    最近在用Flask 寫的應用通過 Supervisor+uWSGI 部署到正式服務器上時出現(xiàn)了錯誤,通過查找相關(guān)的資料終于解決了,所以想著分享出來給大家,下面這篇文章主要介紹了解決uWSGI的編碼問題的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • pytest下的pytest.ini文件的配置項

    pytest下的pytest.ini文件的配置項

    這篇文章主要給大家介紹了pytest下的pytest.ini文件的配置項的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧,
    2017-10-10
  • TensorFlow Session使用的兩種方法小結(jié)

    TensorFlow Session使用的兩種方法小結(jié)

    今天小編就為大家分享一篇TensorFlow Session使用的兩種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論

邻水| 晋城| 武乡县| 积石山| 泌阳县| 平乐县| 昌都县| 仁布县| 综艺| 秀山| 大化| 曲周县| 彰化市| 维西| 涞水县| 壶关县| 乐亭县| 五峰| 新闻| 加查县| 汕尾市| 田阳县| 桂林市| 肥东县| 怀安县| 道孚县| 南平市| 商南县| 秭归县| 永清县| 贵港市| 呼和浩特市| 永定县| 鄂温| 合江县| 鄂托克旗| 河间市| 东乡县| 洛隆县| 山西省| 莲花县|