[英]How can I use a decorator to wrap the result of my function, inside of a multiple external library functions
[英]How can I successfully use a decorator function for my problem?
我正在尝试对装饰器使用馅饼“@”语法,但我似乎无法让它适用于我的特定示例。
我可以用这个达到我想要的结果..
import pandas as pd
def prepare_todays_campaigns(decorated):
campaigns_outgoing = pd.DataFrame({"test":[1,2,3]})
n_campaigns = len(campaigns_outgoing)
if n_campaigns > 0:
print(
f"{n_campaigns} to process."
)
decorated(campaigns_outgoing)
def dec_test(campaigns_outgoing):
for _, row in campaigns_outgoing.iterrows():
print(row)
prepare_todays_campaigns(dec_test)
IE
但是当我尝试使用 @ 语法糖时,我似乎无法得到预期的结果......
def prepare_todays_campaigns(decorated):
def wrapper(*args, **kwargs):
# creatives x campaign
campaigns_outgoing = pd.DataFrame({"test":[1,2,3]})
n_campaigns = len(campaigns_outgoing)
if n_campaigns > 0:
print(
f"{n_campaigns} to process."
)
decorated(*args, **kwargs)
return wrapper
@prepare_todays_campaigns
def dec_test(campaigns_outgoing):
for _, row in campaigns_outgoing.iterrows():
print(row)
dec_test()
结果:
有没有人对如何解决这个问题有任何建议?
查看方法签名def dec_test(campaigns_outgoing):
当您调用该方法时:
dec_test()
您没有传入campaigns_outgoing
参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.