如何动态地将参数传递给对象?

时间:2017-06-01 06:18:16

标签: python

我需要在选定的日期自动安排该功能。所以我使用了这个函数的调度,但是我无法动态地将参数传递给调度对象。如果有人知道如何实现这一点,请提供解决方案。以下是我的代码:

import schedule
def job(ip_id):
    print "Schedule started" + ip_id

ip_id = 1
sname = "weekly"
sched = schedule.every().monday.do(job, ip_id).tag(sname)

它在星期一工作和安排但是当我从列表中传递值时,会出现错误。

import schedule
def job(ip_id):
    print "Schedule started" + ip_id
ip_id = 1
sname = "weekly"
cron = [monday, wednesday, sunday]
for i in cron:
   sched = schedule.every().i.do(job, ip_id).tag(sname)

如何将价值传递到那个地方是我的问题?

1 个答案:

答案 0 :(得分:1)

这里没有魔力。 "星期一"只是缺少属性的名称:)

import schedule

def job(*a, **k):
    pass

ip_id = 0
sname = "sname"

cron = ['monday', 'wednesday', 'sunday']
for i in cron:
   sched = getattr(schedule.every(), i).do(job, ip_id).tag(sname)