內的詳細信息Twython模塊在內部使用請求模塊。我想在類中修飾方法,但不進行編輯class.py -
我想打包/裝飾請求的方法,所以一切Twython使得request.post(...)
調用它將被透明地裝飾/包裝而不會干擾Twython模塊。
如果我編輯的請求代碼庫很容易,但我很好奇如何解決添加裝飾器到已定義函數/方法的一般問題。
import requests
def magic_wrapper_doodad(...)
...
...
requests.post = magic_wrapper_doodad(my_function, requests.post) # plz?
import Twython
# thanks to the above magic, requests.post is wrapped just as if it was defined like:
@decorator
def trace(f, *args, **kw):
print("calling %s with args %s, %s" % (f.__name__, args, kw))
return f(*args, **kw)
...
... #inside requests.py now:
@trace
def post(self, *args, **kw):
...
我怎麼寫magic_wrapper_doodad()
- 或一些替代代碼 - 這樣我就可以裝點這樣的代碼?
s/request/requests – jterrace 2012-08-03 21:56:18
@jterrace:正確插入的's'字符。 – 2012-08-03 21:57:23
請求是一個模塊,但不是一個類。 +1 – jterrace 2012-08-03 21:57:57