首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dict中的映射函数

问dict中的映射函数
EN

Stack Overflow用户
提问于 2012-12-05 05:35:13
回答 3查看 76关注 0票数 0

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

代码语言:javascript
复制
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会遍历字典中的所有函数,并在构建字典时执行它们。我怎样才能避免这种情况?或者,有什么更好的方式来构建它呢?

EN

回答 3

Stack Overflow用户

发布于 2012-12-05 05:37:46

如下所示更改您的判断词:

代码语言:javascript
复制
functions = {
    'help': help,
    'dostuff' : dostuff
    }

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

代码语言:javascript
复制
functions[sys.argv[1]]()
票数 3
EN

Stack Overflow用户

发布于 2012-12-05 05:38:13

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

代码语言:javascript
复制
functions ={
  'help': help
  'dostuff' : dostuff
}

你就可以像这样运行函数了:

代码语言:javascript
复制
return functions[sys.argv[1]]()
票数 2
EN

Stack Overflow用户

发布于 2012-12-05 05:38:01

代码语言:javascript
复制
functions = {
    'help': help,
    'dostuff': dostuff
}

def parsecommand():
    return functions[sys.argv]()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13712350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档