Python 中 argparse 模块简介

本文详细介绍了Python标准库中的argparse模块,用于处理命令行参数。通过示例展示了如何创建解析对象,添加并解析命令行参数,包括可选参数的设置、参数类型、默认值及帮助文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

argparse 的作用

argparse是python标准库里面用来处理命令行参数的库,其目的就是为py文件封装好可以选择的参数。举个例子:在Linux系统中,我们常用到 ls 这个命令,默认情况下 ls 会显示当前目录的所有文件或文件夹名称,但是当我们想要获得更多信息,如文件的权限、建立时间等,就需要在 ls 命令后加上 -all 或其他被允许的指令。因此对 ls 这个命令而言,假设我们想改变程序的行为,显示每个文件的更多信息,就需要加上参数。 在这种情况下,-all 被称为可选参数。同样的, ls 还具有 -h 这个可以选择的参数,这表示打开帮助文本。

argparse 的使用步骤

  1. import argparse    首先导入模块
  2. parser = argparse.ArgumentParser()    创建一个解析对象;一般只使用 description这个方法参数
  3. parser.add_argument()    向该对象中添加你要关注的命令行参数和选项
  4. parser.parse_args()    进行解析

举例

# Step 1
import argparse

# Step 2
parser = argparse.ArgumentParser(description='')

# Step 3
parser.add_argument('--epoch', dest='epoch', type=int, default=50, help='# of epoch')
parser.add_argument('--batch_size', dest='batch_size', type=int, default=128, help='# images in batch')
parser.add_argument('--lr', dest='lr', type=float, default=0.001, help='initial learning rate for adam')
parser.add_argument('--use_gpu', dest='use_gpu', type=int, default=1, help='gpu flag, 1 for GPU and 0 for CPU')
parser.add_argument('--sigma', dest='sigma', type=int, default=25, help='noise level')
parser.add_argument('--phase', dest='phase', default='train', help='train or test')
parser.add_argument('--checkpoint_dir', dest='ckpt_dir', default='./checkpoint', help='models are saved here')
parser.add_argument('--sample_dir', dest='sample_dir', default='./sample', help='sample are saved here')
parser.add_argument('--test_dir', dest='test_dir', default='./test', help='test sample are saved here')
parser.add_argument('--eval_set', dest='eval_set', default='Set12', help='dataset for eval in training')
parser.add_argument('--test_set', dest='test_set', default='BSD68', help='dataset for testing')

# Step 4
args = parser.parse_args()
  1. dest   - 设置这个选项的value解析出来后放到哪个属性中
  2.  type   - 指定参数类型
  3. default  - 参数默认值
  4. help  - 帮助文档

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值