1

現在、私は持っています

parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
group = parser.add_argument_group("Calibration Options")
group.add_argument('-c', '--calibration', default=False, action="store_true", help="Calibrate Gear", dest="calibrate")
group.add_argument('--startFreq', default=400, type=int, help="Start Frequency [MHz]", dest="calStart")

これにより、この出力が生成されます

Calibration Options:
  -c, --calibration     Calibrate Gear (default: False)
  --startFreq           Start Frequency (MHz) (default: 400)

これは問題ありませんが、「単位」を次のようなデフォルト値に含めたいと思います..

Calibration Options:
  -c, --calibration     Calibrate Gear (default: False)
  --startFreq           Start Frequency (default: 400 MHz)

とにかくこれを行うか、それをすべきでない理由はありますか?

4

2 に答える 2

1

%(default)sヘルプラインにあなた自身のものを入れてください。特殊なフォーマッターがその文字列をヘルプに追加するだけです。

group.add_argument('--startFreq', default=400, type=int, help="Start Frequency (default: %(default)s MHz)", dest="calStart")

私も使用します:

`group.add_argument('-c', '--calibration', action="store_true", help="Calibrate Gear (default: False)", dest="calibrate")

の組み込みのデフォルトstore_trueは False ですが、それ%(default)sをキャプチャしません。

argparse.ArgumentDefaultsHelpFormatter便利ツールです。文字列で行うことができないことは何もありませんhelp%(default)sデフォルト値が変数である可能性があり、引数とそのhelpパラメーターを定義するときに不明な場合に最も役立ちます。

于 2013-11-04T17:16:11.657 に答える
0

開始周波数のタイプを文字列にする場合は、デフォルトで「400 MHz」にできます-その後、必要な数に解析を投稿できます-ユニットを解析する可能性があることを確認したい場合でもユーザーが 100k または 200kHz などでスクリプトを呼び出すことができること。

于 2013-11-04T07:42:54.637 に答える