gpt4 book ai didi

python - 将参数传递给 python eval()

转载 作者:行者123 更新时间:2023-11-30 23:29:34 25 4
gpt4 key购买 nike

我正在做遗传编程框架,我需要能够执行一些代表完整Python程序的字符串。我正在使用Python 2.7。我有一个配置类,其中定义了原始集。可以说

class Foo():
def a(self,x):
return x

def b(self,y):
return y

我正在使用 python 检查模块提取函数,并且我想创建一些包含导入和所有内容的可执行源代码。我最终得到一个看起来像这样的字符串

import sys

def a(x,y):
return x

def b(y):
return y

def main(x,y)
lambda x,y: a(b(y),a(x,y))

main(*sys.argv)

我的问题是我不知道如何将命令行参数传递给我使用 eval() 运行的字符串。 如何将命令行参数传递给我想要使用 eval() 运行的源文件?

编辑:有数百万人,因此写入文件并不是一个好的选择。

编辑:我犯了一个错误。 eval() 方法仅用于表达式而不是语句,因此使用 exec() 是正确的方法

最佳答案

eval("function_name")(arg1, arg2)

或者如果您有参数列表:

arguments= [arg1,arg2,arg3,something]
eval("function_name")(*arguments)

关于python - 将参数传递给 python eval(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21100203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com