[英]How pass dynamic arguments to the datetime.timedelta function?
我正在使用 python3 腳本,我使用timedelta()
function 並且需要將參數(關鍵字 arguments 與值)動態傳遞給timedelta() 。
我嘗試了幾件事,但我無法弄清楚如何做到這一點。
from datetime import timedelta
timeDeltaArgKey = "minutes"
timeDeltaArgValue = 60
timedelta(timeDeltaArgKey=timeDeltaArgValue)
# TypeError: 'timeDeltaArgKey' is an invalid keyword argument for __new__()
timedelta("{}={}".format(timeDeltaArgKey, timeDeltaArgValue))
# TypeError: unsupported type for timedelta days component: str
我還嘗試將其作為數組傳遞:
timeDeltaKwarg = {"minutes": 60}
timedelta(timeDeltaKwarg)
# TypeError: unsupported type for timedelta days component: dict
創建一個關鍵字 arguments 字典並將其傳遞給timedelta
:
from datetime import timedelta
timeDeltaArg1Key = "days"
timeDeltaArg1Value = 3
timeDeltaArg2Key = "minutes"
timeDeltaArg2Value = 60
kwargs = {timeDeltaArg1Key: timeDeltaArg1Value, timeDeltaArg2Key: timeDeltaArg2Value}
result = timedelta(**kwargs)
print(result) # -> 3 days, 1:00:00
您需要解壓縮字典才能傳遞它:
timeDeltaKwarg = {"minutes": 60}
timedelta(**timeDeltaKwarg)
或者您可以簡單地將其作為普通參數傳遞
timedelta(minutes=60)
您需要按如下方式使用 timedelta:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.