小编acu*_*are的帖子

通过字符串调用外部模块中的Python函数

我有一个手动维护的 python 函数和模块列表,将由遗传算法使用,我希望能够重复调用这些函数和模块并监视结果。

测试执行.py

import os
from random import randint

def main():
    toolList = [{'file':'test1.py', 'function':'sum_even_numbers', 'args':['list'], 'return':['int']},
                {'file':'test1.py', 'function':'get_min_even_num', 'args':['list'], 'return':['int']}   ]
    for tool in toolList:
        for i in range(0,3):
            run(tool, [randint(10,99) for j in range(1,randint(2,5))])

def run(tool, args):
    mod = __import__( os.path.basename(tool['file']).split('.')[0])
    func = getattr(mod, tool['function'])
    tool['return'] = func(args)
    print('main called ' + tool['file'] + '->' + tool['function'] + ' with ', args, ' = ', tool['return'])

main()
Run Code Online (Sandbox Code Playgroud)

测试1.py

def sum_even_numbers(numbers):
    return sum([i for i in numbers if …
Run Code Online (Sandbox Code Playgroud)

python genetic-programming python-import

1
推荐指数
1
解决办法
181
查看次数