[解決済み] Python argparse: デフォルト値または指定された値
2022-01-25 20:45:10
質問
オプションの引数で、値が指定されずにフラグだけが存在する場合はデフォルトの値になり、ユーザーが値を指定した場合はデフォルトではなくユーザーが指定した値を格納するようにしたいのですが、可能でしょうか?このためのアクションはすでにあるのでしょうか?
一例です。
python script.py --example
# args.example would equal a default value of 1
python script.py --example 2
# args.example would equal a default value of 2
アクションを作成することはできますが、これを行うための既存の方法があるかどうかを確認したかったのです。
どのように解決するのですか?
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--example', nargs='?', const=1, type=int)
args = parser.parse_args()
print(args)
% test.py
Namespace(example=None)
% test.py --example
Namespace(example=1)
% test.py --example 2
Namespace(example=2)
-
nargs='?'
は0または1の引数を意味する -
const=1
引数が0個の場合のデフォルトを設定します。 -
type=int
は引数をint型に変換します。
ご希望の場合
test.py
を設定します。
example
がない場合でも1になります。
--example
が指定されている場合は、インクルード
default=1
. つまり
parser.add_argument('--example', nargs='?', const=1, type=int, default=1)
では
% test.py
Namespace(example=1)
関連
-
PythonによるLeNetネットワークモデルの学習と予測
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Argparse オプションの位置引数?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
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を使ったオフィス自動化コード例
-
Python入門 openを使ったファイルの読み書きの方法
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】 TypeError: += でサポートされていないオペランド型: 'int' および 'list' です。
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない