Edited at

(メモ) python argparse で注意すること

More than 1 year has passed since last update.

自分用の(メモ)として書いておきますが、役立つ人もあったらいいなと思って書いています。

とりあえず、なんちゃってレベルでかきはじめていきますので、つっこみ大歓迎です。

python の argparse をつかってクラスに情報を送り込むときの注意点です。

x.py として下記をつくり

#!/usr/bin/env python

import sys
import argparse
import unittest

class testtst(unittest.TestCase):
def setUp(self):
pass

PARSER = argparse.ArgumentParser()
PARSER.add_argument("--browser")
# MY_ARGS を作って送り込みます。
MY_ARGS = PARSER.parse_args()

if __name__ == "__main__":
"""
# この部分がないとエラーになります。
if sys.argv:
del sys.argv[1:]
"""
unittest.main()

下記を実行するとエラーになります。

python x.py --browser Chrome 

usage: x.py [-h] [--broswer BROSWER]
x.py: error: unrecognized arguments: --browser Chrome

この部分がないとエラーになりますのところをコメントアウトしてください。