【问题标题】: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)

谢谢

【问题讨论】:

  • @Random_Pythoneer59 不起作用

标签: 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)

等等

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2020-08-29
    • 2020-05-12
    • 2020-09-14
    • 2011-11-02
    相关资源
    最近更新 更多