關於python返回裝飾後函數的結果?

def getText():
@itchat.msg_register(itchat.content.TEXT,isFriendChat=True,isGroupChat=True)
def re_msg(msg):
text = msg["Text"]
print(text)
return text
return re_msg

這裡本來的意思是獲取裝飾後re_msg函數的結果,方便後去調用,可是得不到結果(msg[『Text』]有值),請教大神額,對裝飾器一直迷迷糊糊


註冊re_msg的意義在於,告訴itchat每次有符合特定條件的消息,itchat要把消息作為參數,去調用re_msg。

所以一條消息進來,你要做什麼,在註冊方法里寫就好了。

比如你要列印:

import logging

import itchat

@itchat.msg_register(itchat.content.TEXT)
def _(msg):
logging.warning(msg.text)

itchat.auto_login(True)
itchat.run()

或者存儲:

def store_msg(msgContent):
logging.warning("[STORED]: %s" % msgContent)

@itchat.msg_register(itchat.content.TEXT)
def _(msg):
store_msg(msg.text)


推薦閱讀:

如何用 Python 爬取社交網路(如微博)?
你用 Python 或者程序語言寫過哪些好玩或者實用的小應用?
一個比較理想的分散式爬蟲架構是怎樣的?
Python 編碼為什麼那麼蛋疼?
如何維護爬蟲程序中的代理ip庫?

TAG:Python | Python3x | 爬蟲計算機網路 | 裝飾器 |