通过在python中传递参数来通过eval调用另一个函数

时间:2013-10-29 14:01:57

标签: python python-2.7 eval

我编写了以下代码,用于将参数传递给sample.py中的eval函数并在另一个模块中调用该函数

Login_CSA.py。我收到错误,例如“Main()正好接受4个参数(0给定)”

sample.py:

def calling():

    str='Login_CSA'

    eval(str , 10 , 20, 30 , 40)

calling()

Login_CSA.py:

def Main(a,b,c,d):

   z=a+b+c+d
   print z

Main()

你们可以通过传递参数

向我展示如何通过eval调用函数的解决方案

1 个答案:

答案 0 :(得分:2)

您的Login_CSA.py本身已被破坏。一旦导入它,

def Main(a,b,c,d):

   z=a+b+c+d
   print z

Main()

您收到错误,因为Main()调用不起作用,因为Main()只需要4个参数。

如果您已删除此Main()电话,则可以按要求导入模块,例如: G。与Martijn的解决方案,他,唉,删除:

import importlib

mod = importlib.import_module('Login_CSA')
mod.Main(10, 20, 30, 40)

现在导入过程应该成功,您应该可以访问模块的Main()功能。 (但请以正确的方式重命名 - 标题名称是为类保留的。)