argの構文解析をさまざまにチェックしようとしています。 -cまたは-lがそのコードだけを呼び出す場合。
これを実行すると、両方のステートメントが呼び出されます。 たとえば、-cが呼び出された場合のみ、-lの実行コードが実行されますか?arg parseが呼び出されているかどうかを確認し、if文で実行するかどうかを確認します。
#!/usr/bin/python3
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-c', action='store_true')
parser.add_argument('-l', action='store_true')
a = parser.parse_args()
if a.c:
{
print("get custom config")
}
else:
{
print("using default config file")
}
b = parser.parse_args()
if b.l:
{
print("List files within config")
}
else:
{
print("Call Normal Code")
}
いつものように助けてくれてありがとう。
Umm。 Pythonは条件ブロックに '{}'を使用しません。 –
'parser.parse_args()'を何度も呼び出す必要はありません。 'args = parser.parse_args()'、 'if args.c'と' if args.l'のように一度やり直してください。 – ZWiki
ポインタをありがとう。{}を取り除いても、それと同じです...両方を呼び出す1が指定されていても –