0
私は2つの引数を持っています:--1stと--2nd "-2nd"引数は "1st"引数がセットされている場合にのみ必要です。引数のPython argparse依存性
例えば:
「第一」を設定し、設定された「第2回」の場合 - 良い
「第1回」が設定されていない「第2回」に設定していない場合は -
その他良いですケースは悪いです。助けてください、
私は2つの引数を持っています:--1stと--2nd "-2nd"引数は "1st"引数がセットされている場合にのみ必要です。引数のPython argparse依存性
例えば:
「第一」を設定し、設定された「第2回」の場合 - 良い
「第1回」が設定されていない「第2回」に設定していない場合は -
その他良いですケースは悪いです。助けてください、
私はKabanusのソリューションが好きです。
parser = argparse.ArgumentParser()
parser.add_argument('--first')
parser.add_argument('--second')
options = parser.parse_args()
# Error checking
if (options.first is None) != (options.second is None):
print 'Error: --first and --second must both be supplied or omitted'
options.1st
が動作しないので、--1st
と--2nd
を使用して、ためgetattr(options, '1st') is too messy. Instead, I use
and
--first --second`ません:ここでは、新規ユーザーのために簡単ですもう一つは、ありますイラストレーションの目的。(options.first is None) != (options.second is None)
は、エラー条件を簡潔に表現しています。有用なPython属性名に 'dest = 'first''を指定した場合でも、コマンドライン名として' - 1st'を使うことができます。 – ShadowRanger
両方の引数はオプションですか?または2番目のオプションのみですか? –
オプションです。しかし、1セット目の場合は2位が必要です。 2nnが設定されている場合、最初に必要です。他のケースでは、エラーがある必要があります – GolovDanil
私はそれらをargparseで両方ともオプションにし、 'parse_args'を呼び出した結果の検証チェックのために私自身のコードを書きます。 – larsks