使用参数来运行函数

时间:2015-11-03 16:28:00

标签: python

我需要运行一个python程序并给它作为要执行的代码中的函数名的参数。我可以通过使用sys.argv捕获参数并执行相应的函数来执行此操作,但我想自动执行此操作,因为我的代码中有很多函数。例如,当我运行

my_program f1 f2 f3

My_program应该执行名为'f1'然后'f2'等的函数。我知道这听起来可能不是“pythonic”甚至是“程序员的方式”但我很好奇是否有办法。

1 个答案:

答案 0 :(得分:1)

自动执行此操作"是个坏主意。它会打开您的代码,以便等待发生各种安全漏洞。相反,解析专门查找您赞同的有限函数名称集的参数。

但是,如果你必须自动",你可以在new_x = alx5[['Segment', 'FTE_A', 'FTE_B', 'FTE_C', 'inc100k']] alx5.loc[:, 'NSAID'] = model.predict(new_x) 字典中查找函数名称。

globals()

编辑:这是一个安装程度很小的版本。例如,它将执行import sys def f1(): print "1" def f2(): print "2" def f3(): print "3" for fname in sys.argv[1:]: globals()[fname]() f1,但不会执行f2f3

sys.failsafe_nuclear_launch