コマンド ライン インターフェイスを (初めて) 記述しようとしargparse
てoptparse
いgetopt
ますargparse
。van Rossum 氏のアドバイスを少し取り入れて、最初のコマンド ライン インターフェイスを次のように接続しました。
def main(argv=None):
if argv is None:
argv = sys.argv
desc = u'some description'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-s', '--search', help='Search for someone.')
parser.add_argument('-c', '--do_something_else', help='Do something else.')
args = parser.parse_args()
print args
if __name__ == '__main__':
sys.exit(main())
実行python myscript.py -h
すると、次の結果が得られます。
usage: dblp.py [-h] [-s SEARCH] [-c DO_SOMETHING_ELSE]
some description
optional arguments:
-h, --help show this help message and exit
-s SEARCH, --search SEARCH
Search for someone.
-c DO_SOMETHING_ELSE, --do_something_else DO_SOMETHING_ELSE
Do something else.
だから私の最初の質問は:なぜと は大文字SEARCH
でDO_SOMETHING_ELSE
書かれているのですか? 2 番目の質問は次のとおりです。Pythonでクリーンで便利なコマンドラインインターフェイスを構築するより良い方法はありますか(私が学ぶことができる素晴らしい現実世界の例)? また、cmd インターフェイスを作成するときに回避すべき落とし穴はありますか?