di中的映射函数

2024-05-11 03:36:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从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]文件名.py]现在的问题是python遍历字典中的所有函数,并在构建字典时执行它们。我怎样才能避免这种情况? 或者有什么更好的方法来构建这个?你知道吗


Tags: 函数return字典定义linuxdefsyshelp
3条回答
functions = {
    'help': help,
    'dostuff': dostuff
}

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

把你的口述改成这样:

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

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

functions[sys.argv[1]]()

删除字典中函数名旁边的()。你知道吗

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

您将无法像这样运行函数:

return functions[sys.argv[1]]()

相关问题 更多 >