[解決済み】Argparse: デフォルト値を'--help'に含める方法?
2022-03-24 13:33:22
質問
以下のようなargparseのスニペットがあるとします。
diags.cmdln_parser.add_argument( '--scan-time',
action = 'store',
nargs = '?',
type = int,
default = 5,
help = "Wait SCAN-TIME seconds between status checks.")
現状では
--help
を返します。
usage: connection_check.py [-h]
[--version] [--scan-time [SCAN_TIME]]
Test the reliability/uptime of a connection.
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--scan-time [SCAN_TIME]
Wait SCAN-TIME seconds between status checks.
みたいなのがいいんだけど。
--scan-time [SCAN_TIME]
Wait SCAN-TIME seconds between status checks.
(Default = 5)
ヘルプフォーマッターのコードを覗いてみると、選択肢が限られていることがわかりました。 を取得する賢い方法はないでしょうか?
argparse
のデフォルト値を表示します。
--scan-time
をサブクラス化する必要があるのでしょうか?
help
のフォーマッタは?
解決方法は?
を使用します。
argparse.ArgumentDefaultsHelpFormatter
フォーマッタ
:
parser = argparse.ArgumentParser(
# ... other options ...
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
を引用すると ドキュメント :
もうひとつのフォーマッタクラスが利用できます。
ArgumentDefaultsHelpFormatter
は、各引数のデフォルト値に関する情報を追加します。
注意点
これは、ヘルプテキストが定義されている引数にのみ適用されます。
がない場合。
help
の値を指定した場合、デフォルト値に関する情報を追加するためのヘルプメッセージはありません。
から
.
すると、スキャンタイムオプションの正確な出力はこうなります。
--scan-time [SCAN_TIME]
Wait SCAN-TIME seconds between status checks.
(default: 5)
関連
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] argparseによるブーリアン値のパース
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] Argparse オプションの位置引数?
-
[解決済み] argparseでコマンドラインの引数としてリストを渡すにはどうしたらいいですか?
-
[解決済み] シンプルなargparseの例題募集:1引数、3結果
-
[解決済み] argparseのヘルプテキストに改行を挿入するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonによるjieba分割ライブラリ
-
python implement mysql add delete check change サンプルコード
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み] データ型が理解できない
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない