パラメータを 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!'))