命令行解析——argparse模块

本文介绍了Python的argparse模块,用于高效、灵活地处理命令行参数。内容包括为什么使用argparse,使用argparse的主要步骤,如导入模块、创建ArgumentParser对象、添加参数选项和解析参数。此外,还探讨了ArgumentParser解析器和add_argument方法的详细用法。
摘要由CSDN通过智能技术生成

一、为什么要使用argparse模块?

  为了提升效率,加上提高代码的可复用性,大型的任务中,我们一般不会直接把参数硬编码在程序中,而是通过命令行传入相应的参数,这样的方式更加灵活,且效率更高;甚至,我们都不会从命令行去传入参数,而是通过sh文件,shell脚本编程来传入相应的参数。
  之前还有个optparse,但是Python2.7之后不再对optparse模块进行扩展。
  另外sys模块也可以进行简单的解析。如图,sys.argv[0]代表文件名,sys.argv[n]代表参数n,本质是命令行传入的参数以列表的形式保存在sys.argv这个变量中。在参数很多,有些不需要传入,有些取固定值,有些有数据类型要求,有些参数要传递多个等情况下sys.argv便无法胜任。

二、使用argparse模块主要有哪些步骤?

1 导入模块——argparse
import argparse
2 创建解析器——ArgumentParser

  argparse模块是一个类,因此首先要建立一个对象(ArgumentParser)

parser = argparse.ArgumentParser()    # 实例化
3 添加参数选项——add_argument
parser.add_argument('name')    # 添加位置参数,必须给定
parser.add_argument('-a',  '--age', type=int, dest='age')    # 添加可选参数,可选给定
4 程序调用参数——parse_args
args = parser.parse_args()    # 返回一个命名空间,方便使用变量
args_all = args.__dict__    # 取出所有参数,字典(key,val)
args_name = args.name   # 取出name参数,val
5 如何使用?
(1) 脚本式
vim argparse_test.py
___________________________________________________________
import argparse

def argparse_test():
    parser = argparse.ArgumentParser()     

    parser.add_argument('name',type=str)
    parser.add_argument('-a',  '--age', type=int, dest='age') 

    args = parser.parse_args() 

    print('单个调用参数')
    print(args.name)
    print
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值