在python中自动调用与特定模式匹配的所有函数

dzh*_*lil 5 python automation

在python我有很多功能,如下面的那些.我想运行名称匹配的所有函数,setup_*而不必从main显式调用它们.运行函数的顺序并不重要.我怎么能在python中这样做?

def setup_1():
    ....

def setup_2():
    ....

def setup_3():
    ...

...

if __name__ == '__main__':
    setup_*()
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 8

def setup_1():
    print('1')

def setup_2():
    print('2')

def setup_3():
    print('3')

if __name__ == '__main__':    
    for func in (val for key,val in vars().items()
                 if key.startswith('setup_')):
        func()
Run Code Online (Sandbox Code Playgroud)

产量

# 1
# 3
# 2
Run Code Online (Sandbox Code Playgroud)