Python-将字符串转换为参数(或为日期动态选择增量持续时间类型)?

Python-将字符串转换为参数(或为日期动态选择增量持续时间类型)?,python,string,date,arguments,Python,String,Date,Arguments,是否可以将字符串转换为方法的参数 假设我可以得到这样的字符串'weeks','months','years' 现在我有这个: from dateutil.relativedelta import relativedelta from datetime import date today = date.today() 因此,在此之后,我需要按字符串中写入的持续时间类型增加今天的时间。例如,如果字符串将被提供'years',那么它应该这样做(持续时间数字可以说是10): 当然,我可以使用ifs并

是否可以将字符串转换为方法的参数

假设我可以得到这样的字符串
'weeks'
'months'
'years'

现在我有这个:

from dateutil.relativedelta import relativedelta
from datetime import date

today = date.today()
因此,在此之后,我需要按字符串中写入的持续时间类型增加
今天的时间。例如,如果字符串将被提供
'years'
,那么它应该这样做(持续时间数字可以说是
10
):


当然,我可以使用ifs并检查传递了什么类型的
string
。但也许有更好的方法将字符串转换成那个关键字,所以这种方法不需要很多if?

您可以使用python的关键字参数特性

some_date = today + relativedelta(**{'years': 10})
你也可以在使用前准备好字典

kwargs = {}
kwargs['years'] = 10
some_date = today + relativedelta(**kwargs)
有关更多信息:


您可以使用python的关键字参数特性

some_date = today + relativedelta(**{'years': 10})
你也可以在使用前准备好字典

kwargs = {}
kwargs['years'] = 10
some_date = today + relativedelta(**kwargs)
有关更多信息:


谢谢。这是一个很好的解决方案。谢谢。这是一个很好的解决方案。年和10来自哪里?@padraiccnningham它来自哪里重要吗?年和10来自哪里重要吗?@padraiccnningham它来自哪里重要吗?