0

我想从 linux 命令提示符运行 python 函数。因此,我定义了一个函数和从 linux 输入到要执行的函数的映射字典。所以,例如。

def help():
    print(...)

def dostuff():
    do sth

functions ={
    'help': help()'
    ''dostuff' : dostuff()
    }

def parsecommand():
    return functions[sys.argv]

if __name__='__main__':
    parsecommand()    

当我现在从 Linux 运行一个函数时,[python filename.py] 帮助现在的问题是 python 运行字典中的所有函数并在构建字典时执行它们。我怎样才能避免这种情况?或者有什么更好的方法来构建它?

4

3 回答 3

3

像这样改变你的字典:

functions = {
    'help': help,
    'dostuff' : dostuff
    }

这将允许您以下列方式调用函数:

functions[sys.argv[1]]()
于 2012-12-04T21:37:46.067 回答
2

删除()字典中函数名称旁边的。

functions ={
  'help': help
  'dostuff' : dostuff
}

您将能够像这样运行这些功能:

return functions[sys.argv[1]]()
于 2012-12-04T21:38:13.330 回答
0
functions = {
    'help': help,
    'dostuff': dostuff
}

def parsecommand():
    return functions[sys.argv]()
于 2012-12-04T21:38:00.680 回答