-1

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

登录_CSA.py 。我收到类似“Main() 正好需要 4 个参数(给定 0)”之类的错误

示例.py:

def calling():

    str='Login_CSA'

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

calling()

登录_CSA.py:

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

   z=a+b+c+d
   print z

Main()

你们能告诉我一个解决方案吗?如何通过传递参数通过 eval 调用函数

4

1 回答 1

2

Login_CSA.py的本身就坏了。一导入就可以了

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

   z=a+b+c+d
   print z

Main()

你会得到一个错误,因为Main()调用不会像Main()预期的那样工作,正好有 4 个参数。

如果您已删除此Main()调用,您将能够根据需要导入模块,例如使用 Martijn 的解决方案,他删除了该解决方案:

import importlib

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

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

于 2013-10-29T14:12:29.313 回答