传递参数给调度
Pass parameters to schedule
如何将参数传递给 schedule?
我想要调用的函数:
def job(param1, param2):
print(str(param1) + str(param2))
我如何安排:
schedule.every(10).minutes.do(job)
如何将参数传递给 do(job)
?
一般情况下,你总是可以这样做:
schedule.every(10).minutes.do(lambda: job('Hello ', 'world!'))
查看来源:
def do(self, job_func, *args, **kwargs):
"""Specifies the job_func that should be called every time the
job runs.
Any additional arguments are passed on to job_func when
the job runs.
:param job_func: The function to be scheduled
:return: The invoked job instance
"""
self.job_func = functools.partial(job_func, *args, **kwargs)
我们发现您也可以这样做:
schedule.every(10).minutes.do(job, 'Hello ', 'world!')
或者,如代码所示,通用 lambda
方法的替代方法是:
schedule.every(10).minutes.do(functools.partial(job, 'Hello ', 'world!'))
schedule.every(10).minutes.do(job, 'do something', 'like this')
我朋友试过上面的语法但是不行,所以如果不行你可以使用
schedule.every(10).minutes.do(job('do something', 'like this'))
他的日程表不是这样的,完全是这样的-
schedule.every().monday.at('8:30')do(job('It was', 'like this'))
如何将参数传递给 schedule?
我想要调用的函数:
def job(param1, param2):
print(str(param1) + str(param2))
我如何安排:
schedule.every(10).minutes.do(job)
如何将参数传递给 do(job)
?
一般情况下,你总是可以这样做:
schedule.every(10).minutes.do(lambda: job('Hello ', 'world!'))
查看来源:
def do(self, job_func, *args, **kwargs):
"""Specifies the job_func that should be called every time the
job runs.
Any additional arguments are passed on to job_func when
the job runs.
:param job_func: The function to be scheduled
:return: The invoked job instance
"""
self.job_func = functools.partial(job_func, *args, **kwargs)
我们发现您也可以这样做:
schedule.every(10).minutes.do(job, 'Hello ', 'world!')
或者,如代码所示,通用 lambda
方法的替代方法是:
schedule.every(10).minutes.do(functools.partial(job, 'Hello ', 'world!'))
schedule.every(10).minutes.do(job, 'do something', 'like this')
我朋友试过上面的语法但是不行,所以如果不行你可以使用
schedule.every(10).minutes.do(job('do something', 'like this'))
他的日程表不是这样的,完全是这样的-
schedule.every().monday.at('8:30')do(job('It was', 'like this'))