2

ユーザーがオプションのパラメーター -o を使用する場合、ユーザーはパラメーター -b も使用する必要があります。ただし、-b パラメータは、ユーザーがパラメータ -o を設定した場合にのみ使用する必要があります。

import argparse

if __name__ == '__main__':

    parser = argparse.ArgumentParser()
    parser.add_argument('-f', nargs='?', required=True)
    parser.add_argument('-o', nargs='?', required=False)
    parser.add_argument('-b', nargs='?', required=????)

    args = parser.parse_args()

この問題をどのように解決できますか?

4

1 に答える 1

2

の後にテストを追加args = parser.parse_args():

if args.o and not args.b:
   print >> sys.stderr, 'The -b option is required whenever -o is specified'
   sys.exit(1)
于 2011-11-27T05:48:52.853 に答える