【发布时间】:2019-05-16 20:50:44
【问题描述】:
是否可以将字符串作为关键字参数传递给函数/方法?
下面的代码运行良好
start_time = datetime.datetime.strptime('2019-01-01', '%Y-%m-%d')
end_time = start_time + datetime.timedelta(days=1)
print(end_time)
但是,如果我将一个字符串传递给 datetime.timedelta
delta = 'days=1'
start_time = datetime.datetime.strptime('2019-01-01', '%Y-%m-%d')
end_time = start_time + datetime.timedelta(delta)
print(end_time)
然后它会返回
TypeError: unsupported type for timedelta days component: str
但是如果我从用户输入中得到“days=1”或“hours=2”或“seconds=5”怎么办?
实现这项工作的一种方法是解析用户输入并创建多个 if/elif 语句。
还有什么更好的吗?
【问题讨论】: