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它来自哪里重要吗?