は、次のではなく、標準のコードを取る:-x
と-f
の両方が明示的に存在する場合、エラーが報告されるべきである。 Pythonのoptparseは、デフォルト値、および明示的なオプション
from optparse import OptionParser
opts = OptionParser()
opts.add_option('-f', action="store_true")
opts.add_option("-x", dest="x", type="int", default=1)
options, args = opts.parse_args()
は
-x
と
-f
は相互に排他的であると仮定します。
-x
が明示的に存在するかどうかを検出するにはどうすればよいですか?そうでない場合でも、options
はデフォルト値を示します。
--help
がデフォルト値をうまく印刷するため、私はむしろデフォルト値を設定することを避けることをお勧めします。 -x
のための複数の名前があります(つまり、--long-名前)と相互に排他的な複数のペアがあるかどう
もう一つの方法は、あまりにも、少し厄介です-x
のインスタンスにsys.argv
をチェックすることになりますオプション。
これには優雅なソリューションがありますか?