Python 条件语句的sys.argv表示法
我的功能设置如下:Python 条件语句的sys.argv表示法,python,args,sys,Python,Args,Sys,我的功能设置如下: args = sys.argv[1:] if args: if args[0] in Constants.envs.keys(): environment = Constants.envs[args[0]] 但我觉得这看起来不太干净。有没有更好的方法来检查参数,如果参数有效,则为其设置一个变量?为什么不将这两个if语句组合起来 args = sys.argv[1:] if args and args[0] in Constants.envs:
args = sys.argv[1:]
if args:
if args[0] in Constants.envs.keys():
environment = Constants.envs[args[0]]
但我觉得这看起来不太干净。有没有更好的方法来检查参数,如果参数有效,则为其设置一个变量?为什么不将这两个
if
语句组合起来
args = sys.argv[1:]
if args and args[0] in Constants.envs:
environment = Constants.envs[args[0]]
您还可以使用dict的get
方法,如果缺少键,该方法将返回默认值。这意味着您不必在Constants.envs.keys()中检查参数[0]
为什么不把这两个
if
语句组合起来呢
args = sys.argv[1:]
if args and args[0] in Constants.envs:
environment = Constants.envs[args[0]]
您还可以使用dict的get
方法,如果缺少键,该方法将返回默认值。这意味着您不必在Constants.envs.keys()中检查参数[0]
由于python语句是惰性的,您可以将两个
if
语句组合在一起:如果Contants.env.keys()中的args和len(args)>0和args[0]:
@Tyler:真正需要的是如果Contants:
中的args和args[0]。因为python语句是惰性的,您可以组合两个if
语句:if args和len(args)>0和args[0]在Contants.env.keys()中:
@Tyler:真正需要的是if args和args[0]在Contants:
中。您还可以删除args
变量。所以它将如下:如果sys.argv[1]:environment=Constants.envs.get(sys.argv[1],None)
@Rob,你说得对。条件不正确。如果len(sys.argv)>1,它应该是,您也可以删除args
变量。所以它将如下:如果sys.argv[1]:environment=Constants.envs.get(sys.argv[1],None)
@Rob,你说得对。条件不正确。如果len(sys.argv)>1,则应为