【问题标题】:Is there a way to run a function using variable name? [duplicate]有没有办法使用变量名运行函数? [复制]
【发布时间】:2021-12-02 04:30:13
【问题描述】:
我创建了一个 python 代码,它使用 schedule 模块在特定时间自动加入缩放类。这是下面的示例代码:
schedule.every().monday.do(join_zoom)
有没有办法可以像这样运行代码
date = "monday"
schedule.every().[date].do(join_zoom)
谢谢
【问题讨论】:
标签:
python
scheduled-tasks
【解决方案1】:
当然,getattr 就是您要查找的内容:
date = "monday"
getattr(schedule.every(), date).do(join_zoom)
如果你愿意,可以用这个自建的sn-p试试看:
class Schedule:
@staticmethod
def every():
return Day
class FooBar:
@staticmethod
def do(stringg):
print('success')
class Day:
monday = FooBar
tuesday = FooBar
schedule = Schedule
getattr(schedule.every(), 'monday').do('ciao')
【解决方案2】:
当然,一个简单的 if-else 语句就可以了:
date = "monday"
if date == "monday":
schedule.every().monday.do(join_zoom)
elif date == "tuesday":
schedule.every().tuesday.do(join_zoom)
等等