错误处理函数的输入参数

时间:2017-09-27 12:48:42

标签: python python-2.7

我的主代码有4个输入参数。我创建了一个检查输入参数的解析函数。

处理错误的正确方法是什么?我想检查用户是否指定了所有4个参数(不是2或3或其他),p4是布尔值,p1 - p3是字符串值。

def parse_parameters():
    try:
       opts, args = getopt.getopt(sys.argv[1:], "d")
       p1, p2, p3, p4 = args
       return p1, p2, p3, p4
    except getopt.GetoptError as err:
       print "Wrong usage"
       sys.exit(1)

更新:

if __name__ == '__main__':
     p1, p2, p3, p4 = parse_parameters()

1 个答案:

答案 0 :(得分:1)

使用 argparse 并设置选项required=True,这样您就不需要处理这些条件。这个模块将为您完成。

<强>实施例

parser = argparse.ArgumentParser()
parser.add_argument('--foo', required=True)
args = parser.parse_args()
print(args.foo)

<强>用法:

  

argparse.py [-h] [ - foo FOO]

     

argparse.py:错误:选项--foo是必需的

Further Reading