コマンドライン引数エラーのヘルプを自動的に表示するにはどうすればよいですか? 質問する

コマンドライン引数エラーのヘルプを自動的に表示するにはどうすればよいですか? 質問する

現在、無効なオプションを入力したり、位置引数を省略したりすると、argparse によってプロンプトに戻り、アプリの使用方法が表示されます。

これは問題ありませんが、ユーザーに入力を求めるよりも、完全なヘルプリスト(オプションなどを説明するもの)を自動的に表示したいです。

./myscript.py -h

ベストアンサー1

ヘルプを表示するには、次の関数を使用します:print_helpインスタンスArgumentParser

parser = argparse.ArgumentParser()
(...)
parser.print_help()

ArgumentParserエラー時にヘルプ メッセージを出力するには、メソッドをオーバーライドするインスタンスの独自のサブクラスを作成する必要がありますerror()。例:

class MyParser(argparse.ArgumentParser): 
   def error(self, message):
      sys.stderr.write('error: %s\n' % message)
      self.print_help()
      sys.exit(2)

そしてそれを使用します:

parser = MyParser()

このパーサーは解析できない引数行に遭遇すると、ヘルプを出力します。

おすすめ記事