我试图提供动态值给relativedelta函数,也就是relativedelta(days=1),我想把动态函数值days,months,years赋给函数。考虑我的情况如下。我将按如下方式动态获取列表:
Ex: 1
list = ['today', 'minus', '1', 'days']
Ex: 2
list = ['today', 'plus', '1', 'year']
Ex: 3
list = ['today', 'plus', '1', 'months']我编写了处理计算的代码。
import operator
from datetime import datetime
from datetime import date
from dateutil.relativedelta import relativedelta
operations = {
'plus': operator.add,
'minus': operator.sub,
}
today = date.today()
new_date = self.operations['plus'](today, relativedelta(days=1))
# the above is some thing like [today + relativedelta(days=1)]我想做的是,像operations一样,我想把days,months,years赋给relativedelta()函数,但是我做不到。有什么建议的方法吗?
发布于 2020-08-25 21:20:41
找到一种方法来做到这一点!
我们可以使用**expression调用语法将字典传递给函数,它将扩展为关键字参数( **kwargs函数参数将再次捕获关键字参数):
attributes = {'days': 1}
relativedelta(**attributes)https://stackoverflow.com/questions/61308335
复制相似问题