python 定义一个具体日期_Argparse:一个具体案例教会你python命令行参数解析

问题描述:

现有一个用于数据格式转换的py脚本(多转一),执行时通过命令行传入一系列的参数控制其具体运行方式,使满足以下要求:

1. 必须传入需要处理的原始数据文件名

2. 可以指定输入文件的格式,若没有指定则使用默认值,若指定则必须在限定的范围内选择

3. 可以指定输出文件名

4. 可以指定输出不同级别log信息,也可以指定运行过程中不打印任何信息,但是两者不可以同时出现。

解决思路:

Argparse是一个比较常用的命令行参数解析模块,python自带且简单易用。其使用流程基本分为以下几步:导入argparse包、生成parser对象、增加参数和解析参数。我们将对照着上面的需求,逐个添加命令行参数。

3a9f3b97b793004715295a9ebfe0331f.png

1. 执行脚本必须要传入原始数据的文件名,可以通过位置参数(positional)来进行设定。我们在parser对象上绑定一个input变量,并为其添加说明信息"input file name",解析之后可以用args.input来获取输入的命令行参数。命令行执行python args.py test.txt测试效果。

56a93c743920c869e41b8d87ce157ec0.png

还可以通过python args.py -h 来查看当前脚本的使用方法

35a04cca831a102979a05fbd73324898.png

2. 输入文件格式可选,添加可选参数(optional)。可选参数可以用短选项:-f,也可以用长选项:--format,或者都指定。通过设置default="micaps1"可以指定默认格式,通过choices=['micaps1', 'micaps5', 'ecbufr']可以设定参数范围,传入该范围之外的值会报错。

2b41cf55f204e5baa5a983fa5f5d3446.png
6a7b58d99a2684661beee80aa1396773.png

3. 和第二条类似,添加参数:parser.add_argument("-o

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值