根据收到的参数执行操作

时间:2013-05-13 13:59:04

标签: python

我正在编写一个api,它接受两个参数“a”& “B”。收到参数后,它会检查它们是否存在,并根据收到的参数进行一些操作。这是一些psudo代码。

args = get.parameters

if "a" in args:
    print "x" # execute "x"
if "b" in args:
    print "y" # execute "y"
if both exists:
    print "x" # execute "x"

最好的方法是什么?

3 个答案:

答案 0 :(得分:1)

根据评论中明确规定的要求,这就是我要做的事情:

if "a" in args:
    print "x"
elif "b" in args:
    print "y"
else:
    raise ValueError("must specify at least a or b")

进行"a" in args and "b" in args检查毫无意义,因为要采取的措施与您只有"a"的情况相同。请注意elif,这样可确保仅在第一次检查失败时执行第二次检查。

答案 1 :(得分:0)

根据您提供的有限信息,我首先会检查ab是否存在。然后存在a而不是bb而不是a。这样你就不会错过任何条件。

if 'a' in args and 'b' in args:
    print "x" # execute "x"
elif "a" in args:
    print "x" # execute "x"
elif "b" in args:
    print "y" # execute "y"
else:
    print 'ERROR need "a" or "b"'

另外,我不明白为什么不使用if-elif-else而不是多个ifs。这些应该是 - 或条件。

答案 2 :(得分:0)

import sys
args = sys.argv;
if len(args) > 1:
    args = args[1:]
    if "a" in args and "b" in args: print "x"
    elif "a" in args: print "x"
    elif "b" in args: print "y"