将字符串解析为datetime.timedelta参数

时间:2020-02-17 18:12:18

标签: python python-3.x datetime

考虑此方法:

def duration(duration_type, t):
    t = timedelta(duration_type=t)

其中duration_type是代表timedelta参数之一的字符串(dayshoursseconds等)

有没有办法正确解析字符串并将其作为参数输入?处理属性时,类似于setattr()

很明显,上面的代码会产生以下错误:

TypeError: 'duration_type' is an invalid keyword argument for __new__()


用例:从默认的python配置文件读取此值,并将其用于timedelta对象中。

1 个答案:

答案 0 :(得分:3)

您可以使用特殊的**(双星号)将dict作为函数中的命名参数传递:

def duration(duration_type, t):
    kwargs = {duration_type: t}
    return timedelta(**kwargs)