argparse的用法

目录

argparse

ArgumentParser.add_argument

示例代码

参考


argparse

功能:模块可以让人轻松编写用户友好的命令行接口程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。

argparse.ArgumentParser(prog=None, 
                        usage=None, 
                        description=None, 
                        epilog=None, 
                        parents= [],
                        formatter_class=argparse.HelpFormatter, 
                        prefix_chars='', 
                        fromfile_prefix_chars=None, 
                        argument_default=None, 
                        conflict_handler='error', 
                        add_help=True, 
                        allow_abbrev=True)

 

  • prog - 程序的名称(默认值:sys.argv[0]

  • usage - 描述程序用途的字符串(默认值:从添加到解析器的参数生成)

  • description - 在参数帮助文档之前显示的文本(默认值:无)

  • epilog - 在参数帮助文档之后显示的文本(默认值:无)

  • parents - 一个 ArgumentParser 对象的列表,它们的参数也应包含在内

  • formatter_class - 用于自定义帮助文档输出格式的类

  • prefix_chars - 可选参数的前缀字符集合(默认值: '-')

  • fromfile_prefix_chars - 当需要从文件中读取其他参数时,用于标识文件名的前缀字符集合(默认值: None

  • argument_default - 参数的全局默认值(默认值: None

  • conflict_handler - 解决冲突选项的策略(通常是不必要的)

  • add_help - 为解析器添加一个 -h/--help 选项(默认值: True

  • allow_abbrev - 如果缩写是无歧义的,则允许缩写长选项 (默认值:True

ArgumentParser.add_argument

ArgumentParser.add_argument(name or flags...,
                            [action],
                            [nargs],
                            [const],
                            [default],
                            [type],
                            [choices],
                            [required],
                            [help],
                            [metavar],
                            [dest])

 

  • name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo

  • action - 当参数在命令行中出现时使用的动作基本类型。

  • nargs - 命令行参数应当消耗的数目。

  • const - 被一些 action 和 nargs 选择所需求的常数。

  • default - 当参数未在命令行中出现时使用的值。

  • type - 命令行参数应当被转换成的类型。

  • choices - 可用的参数的容器。

  • required - 此命令行选项是否可省略 (仅选项可用)。

  • help - 一个此选项作用的简单描述。

  • metavar - 在使用方法消息中使用的参数值示例。

  • dest - 被添加到 parse_args() 所返回对象上的属性名。

示例代码

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--data", type=str, default="bunny",
                    help="Load some points data, choices are \"bunny\", \"circle\", \"eclipse\", "
                         "or \"a_path_to_your_ply_file\".")
parser.add_argument("--n_samples", type=int, default=50, help="Number of samples we would like to draw.")
parser.add_argument("--manually_step", type=bool, default=False,
                    help="Hit \"N/n\" key to step sampling forward once.")

args = parser.parse_args()

example_data = args.data
n_samples = args.n_samples
manually_step = args.manually_step
parser = argparse.ArgumentParser()
parser.add_argument('--data_root', type=str, required=True, help='Root to the dataset')
parser.add_argument('--batch_size', type=int, default=32, help='Batch size')
parser.add_argument('--npoints', type=int, default=1024, help='Number of the training points')
parser.add_argument('--nclasses', type=int, default=40, help='Number of classes')
parser.add_argument('--augment', type=bool, default=False, help='Augment the train data')
parser.add_argument('--dp', type=bool, default=False, help='Random input dropout during training')
parser.add_argument('--model', type=str, default='pointnet2_cls_ssg', help='Model name')
parser.add_argument('--gpus', type=str, default='0', help='Cuda ids')
parser.add_argument('--lr', type=float, default=0.001, help='Initial learing rate')
parser.add_argument('--decay_rate', type=float, default=1e-4, help='Initial learing rate')
parser.add_argument('--nepoches', type=int, default=251, help='Number of traing epoches')
parser.add_argument('--step_size', type=int, default=20, help='StepLR step size')
parser.add_argument('--gamma', type=float, default=0.7, help='StepLR gamma')
parser.add_argument('--log_interval', type=int, default=10, help='Print iterval')
parser.add_argument('--log_dir', type=str, required=True, help='Train/val loss and accuracy logs')
parser.add_argument('--checkpoint_interval', type=int, default=10, help='Checkpoint saved interval')
args = parser.parse_args()

 

 

 

 

 

 

 

 

 

 

参考

https://docs.python.org/zh-cn/3.8/library/argparse.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值