2017-09-27 12 views
-1

メインコードには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) 

UPDATE:

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

答えて

1

使用代わりと設定オプションrequired=True argparse、あなたはそれらの条件を処理する必要はありませんこの方法。このモジュールはあなたのためにそれを行います。

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

用法:

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

argparse.py: error: option --foo is required

Further Reading

+0

どのように私は '--foo'は、変数' foo'に割り当てられるように指定することができますコードの中でそれを使うことができるでしょうか? – Dinosaurius

+0

私の答えを – dalonlobo

+0

で編集してください。今度はコードをチェックし、渡すことができるさらなるオプションについてはドキュメントを参照してください。 – dalonlobo

関連する問題