我的主代码有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()
答案 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是必需的