我想从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会遍历字典中的所有函数,并在构建字典时执行它们。我怎样才能避免这种情况?或者,有什么更好的方式来构建它呢?
发布于 2012-12-05 05:37:46
如下所示更改您的判断词:
functions = {
'help': help,
'dostuff' : dostuff
}这将允许您以以下方式调用函数:
functions[sys.argv[1]]()发布于 2012-12-05 05:38:13
删除字典中函数名称旁边的()。
functions ={
'help': help
'dostuff' : dostuff
}你就可以像这样运行函数了:
return functions[sys.argv[1]]()发布于 2012-12-05 05:38:01
functions = {
'help': help,
'dostuff': dostuff
}
def parsecommand():
return functions[sys.argv]()https://stackoverflow.com/questions/13712350
复制相似问题