如何在python中使用CMD传递的参数调用已定义函数

如何在python中使用CMD传递的参数调用已定义函数,python,Python,我的代码如下 def sum(): print "sum" def div(): print "div" test = sys.argv[1] 在终端上,我正在传递Python script.py sum 这里的sum是一个参数,即sys.argv[1] 它应该打印总和,但不打印任何内容。有人知道怎么做,或者有什么问题吗?应该是这样的。请注意,这会将函数定义分配给一个变量,然后执行is import sys def sum(): print "sum" def div()

我的代码如下

def sum():
   print "sum"
def div():
   print "div"

test = sys.argv[1]
在终端上,我正在传递
Python script.py sum

这里的
sum
是一个参数,即
sys.argv[1]


它应该打印总和,但不打印任何内容。有人知道怎么做,或者有什么问题吗?

应该是这样的。请注意,这会将函数定义分配给一个变量,然后执行is

import sys

def sum():
   print "sum"
def div():
   print "div"

test = getattr(sys.modules[__name__], sys.argv[1])
test()
用法:

~> python my_script_name.py sum

你为什么认为这应该打印任何东西?您在哪里调用
sum
div
?我通过传递参数调用sum,该参数将存储在test@DanielRosemanNo中,您没有。您知道如何通过它吗@DanielRosemannhanks@DanielRoseman感谢您的回答,但我得到了答案。它给出了错误测试=getattr(sys.modules[name],sys.argv[1])AttributeError:'module'对象没有属性'sum()'删除括号
()
,查看我在@sachindobey添加的用法部分