0
私はこのように呼ばれるプログラムがあります。Pythonのargparseモジュールの使用
program.py add|remove|show
をここでの問題は、追加/削除/ showコマンドに応じて、それだけでこのように、可変個の引数を取ることです。任意の引数を取りません1つの唯一の引数と「ショー」コマンドを取ると「削除」コマンドながら
program.py add "a string" "another string"
program.py remove "a string"
program.py show
ので、「追加」コマンドは、2つの文字列の引数を取るだろう。 私はモジュールargparseを使用して、基本的な引数パーサを作成する方法を知っているが、私はそれで多くの経験を持っていないので、私はここから始まっ:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("command", choices=["add", "remove", "show"])
しかし、私は継続する方法がわからないとどのようにコマンドに応じてこの機能を実装します。前もって感謝します。あなたはargparseのsubparsersを探している
どのオプションが選択されているかチェックして、対応する変数を取得するにはどうすればよいですか? – xBlackout
@xBlackout - 私がリンクしているドキュメントにもそれに関するアドバイスがあります... "サブコマンドを扱う特に効果的な方法"で始まる文章を検索してください。 tl; dr; 'set_defaults'を使ってどのサブパーザが選択されたかに基づいて名前空間に関数を付けることができるということです。次に、その関数を呼び出して、選択されたサブパーザーに関連付けられたアクションを実行します。 – mgilson