从.py文件创建所有功能的列表并随机运行

时间:2019-05-03 13:54:18

标签: python list function

我想在.py文件中创建所有功能的列表,然后随机使用这些功能。 我已经使用dir()创建了一些列表,但是无法运行。

具有功能file.py的文件:

public function run()
{
    factory(Category::class, rand(1, 10))->create()->each(
        function ($category) {
            factory(Category::class, rand(1, 5))->create(['parent_id' => $category->id]);
        }
    );
}

另一个脚本:

def f1:
   # some code
def f2:
   # some code
def f3:
   # some code

它显示此错误

functions = dir(file)
random.choice(functions)()

1 个答案:

答案 0 :(得分:0)

假设file1.py中的所有函数仅包含不带参数的函数或仅带默认值参数的函数,则

如果file1.py

def f1():
    print ("f1")

def f2():
    print ("f2")

def f3():
    print ("f3")

def f4(i=0):
    print ("f4")

另一个脚本将是:

import file1
from inspect import getmembers, isfunction
import random

functions_list = [o for o in getmembers(file1) if isfunction(o[1])]
random.shuffle(functions_list)

for f in functions_list:
    f[1]()