Argparseが理解できない(010/100)

学習時間

4時間

学習したこと

記録してない。

分からないこと

  • お題

Todo管理のプログラム。
コマンドラインに、以下のように入力する時、
1つ目の引数が「add」の場合は、ToDoを空のリストに追加するというもの。

$ add みかんを買う(TODO)

問題の中で、argparse, サブコマンドを使用できるとありました。
かなり単純化しています。

  • 自分の考え

以下のように、add_argument()のnargs引数で引数の個数制限をなくし、
parse_args()に引数a,bを入力します。すると、Namespaceobjectに引数a,bがnum=['a', 'b']の形で格納される。
Namespaceobjectからa,bを取り出せば、あとはif文で条件分岐し、ToDoリストにタスクを追加できるのではないか?

parser.add_argument('num', nargs='*' )
parser.parse_args('a b')
Namespace(num=['a', 'b'])

16.4. argparse — コマンドラインオプション、引数、サブコマンドのパーサー — Python 3.6.5 ドキュメント

コメント・感想

また調べることに没頭してしまい、分からないまま時間オーバーです。
明日は、模範解答を写経してどんな処理をしてるか読んでみます。
オブジェクト志向のチャプターをやってみれば分かるのかも。