从函数定义中获取参数并将它们作为参数传递给函数调用

问题描述

我在 Python 文件中有一个函数:

#a.py
def foo(x,y):
    print(x,y)

我想从另一个文件调用该函数。问题是我不知道应该传递什么参数,所以我使用 inspect.signature() 来找出答案:

#b.py
import inspect
params = list(inspect.signature(foo).parameters.values()) # returns [<Parameter "x">,<Parameter "y">]
params_names = list(inspect.signature(foo).parameters.keys()) # returns ["x","y"]

问题是如何在函数调用中将参数作为参数传递?我试过了:

foo(exec(params[0])=100,exec(params[0])=200)

但出现错误:SyntaxError: expression cannot contain assignment,perhaps you meant "=="?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)