Python:使用存储在变量中的名称调用方法

时间:2015-01-10 10:07:02

标签: python

我正在编写一个python程序,其中包含了另一个python文件。

包含的python文件有一个我想从调用脚本调用的方法。

喜欢:

#!/usr/bin/python    
include script1

method = sys.argv[1]     # values may be - create or destroy

if method == "create":
    script1.create()
elif method == "destroy":
    script1.destroy()

现在,我想要的是,

#!/usr/bin/python    
include script1

method = sys.argv[1]       # values may be - create or destroy

script1.method()

并且,它应该使用变量方法中的,而不是尝试调用名为method的模块。

2 个答案:

答案 0 :(得分:2)

您可以使用getattr

method= sys.argv[1]
getattr(script1, method)()

答案 1 :(得分:0)

要从script1调用函数,您可以将其转换为模块。

script1.py:

def create():
   pass

def destroy():
   pass

script2.py:

import script1

script1.create()
script1.destroy()