たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

ArgParse全体像

お仕事

argparseはHelp対応のパーサー/validator.
argument list + grouping + default value + type cast + validation + help/print がざっくりしたお仕事.

使い方

ArgumentParserインスタンスを生成、add_argumentでargumentsを設定.
.parse_xxで引数をパース(デフォルトでsys.argvをパース、引数で渡した任意の[str]をパース可能).
.parse_argsすると必要十分なargsでバリデーションをして、.parse_known_argsだと十分条件でバリデーション(不要arg OK).
usage/help文字列を表示・取り出したいときはprint_xx/format_xx.

components

  • argparse.ArgumentParser
    • arguments
      • .add_argument()
      • .set_defaults() -> None
      • .get_default()
      • grouping
        • .add_argument_group()
        • .add_mutually_exclusive_group()
    • parse
      • .parse_args(args:List[str]=sys.argv, namespace=None) -> Namespace
      • .parse_known_args(args:List[str]=sys.argv, namespace=None) -> (Namespace, List[str])
      • .parse_intermixed_args(args:List[str]=sys.argv, namespace=None) -> Namespace
      • .parse_known_intermixed_args(args:List[str]=sys.argv, namespace=None) -> (Namespace, List[str])
    • .add_subparsers()
    • helps
      • .print_usage() -> None
      • .print_help() -> None
      • .format_usage() -> str
      • .format_help() -> str
    • .convert_arg_line_to_args(self, arg_line:str) -> List[str]: override for customizing how to parse a line in a argument file
    • .exit()
    • .error()
  • argparse.FileType()

Links

Argparse チュートリアル - Python
argparse - Python