2016-04-15 9 views
-2

'--run'が引数として与えられていると仮定して、 'or'演算を使ったブール値ではなく、変数に 'opt.run'条件をどのように宣言しますか?Pythonでブール値の代わりに評価条件を印刷するにはどうすればよいですか?

parser = argparse.ArgumentParser() 
parser.add_argument("--pre",dest="pre",action="store_true") 
parser.add_argument("--run",dest="run",action="store_true") 
parser.add_argument("--post",dest="post",action="store_true") 
opt = parser.parse_args() 

step = opt.pre or opt.run or opt.post 

「ステップ」を印刷すると「真」となりますが、実際には「真」を評価する条件、つまり「opt.run」が本当に必要です。場合は、ユーザーが3のいずれかを選択しなければならなかったというロジックを持っていた場合は、最後をドロップでき

step = "pre" if opt.pre else "run" if opt.run else "post" if opt.post else "default" 
print(step) 

:何をしようとする

答えて

2

のようなものです

step = "pre" if opt.pre else "run" if opt.run else "post" 

しかし、私は/ elifの場合にそれを分解することをお勧めします:

step = "default" 
if opt.run: 
    step = "run" 
elif opt.pre: 
    step = "pre" 
elif opt.post: 
    step = "post" 
+0

ありがとう、パドレイク、ワンライナーを期待していたが、 ll。 「エレガント」は必ずしも「より良い」という意味ではありません。 – learn2leavethetable

関連する問題