Python命令行参数处理之argparse模块

介绍

平时我们想要了解一个命令的用法时,会使用『 --help 』或是『 --version 』参数,Python中也可以自定义命令行参数。

用法实例

先创建一个Python脚本test.py

import argparse

# 创建解析
parser = argparse.ArgumentParser(prog="This is a description.")

# 添加位置参数(必须参数)
parser.add_argument("name",         type = str,                  help = "Your name")
parser.add_argument("birth",        type = str,                  help = "birthday")
# 添加可选参数
parser.add_argument("-r",'--race',  type = str, dest = "race", help = u"民族")
# 可以限定范围
parser.add_argument("-a", "--age",  type = int, dest = "age",    help = "Your age", default = 0, choices=range(120))
parser.add_argument('-s',"--sex",   type = str, dest = "sex",    help = 'Your sex', default = 'male', choices=['male', 'female'])
parser.add_argument("-p","--parent",type = str, dest = 'parent', help = "Your parent", default = "None", nargs = '*')
parser.add_argument("-o","--other", type = str, dest = 'other',  help = "other Information",required = False, nargs = '*')

# 解析参数
args = parser.parse_args()

# 使用命令行传入的参数
print('my name is ',args.name)
print('my birthday is ',args.birth)
print(args)

然后用命令行运行

python test.py --help

python test.py doghead 2020.02.20
# my name is  doghead
# my birthday is  2020.02.20
 #Namespace(age=0, birth='2020.02.20', name='doghead', other=None, parent='None', race=None, sex='male')

python test.py doghead 2020.02.20 -r han -a 6 -s male -p Mom Dad -o 1 2 3 4 5
# my name is  doghead
# my birthday is  2020.02.20
# Namespace(age=6, birth='2020.02.20', name='doghead', other=['1', '2', '3', '4', '5'], parent=['Mom', 'Dad'], race='han', sex='male')

原文地址:https://www.cnblogs.com/mrdoghead/p/12228911.html

时间: 2024-11-08 08:48:37

Python命令行参数处理之argparse模块的相关文章

Python命令行参数

Python命令行参数: -d 在解析时显示调试信息 -O 生成优化代码 ( .pyo 文件 ) -S 启动时不引入查找Python路径的位置 -v 输出Python版本号 -X 从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时. -c cmd 执行 Python 脚本,并将运行结果作为 cmd 字符串. file 在给定的python文件执行python脚本.

python 命令行参数——argparse模块的使用

以下内容主要来自:http://wiki.jikexueyuan.com/project/explore-python/Standard-Modules/argparse.html argparse 使用 简单示例 我们先来看一个简单示例.主要有三个步骤: 创建 ArgumentParser() 对象 调用 add_argument() 方法添加参数 使用 parse_args() 解析添加的参数 示例: # -*- coding: utf-8 -*- import argparse parse

python 命令行参数解析 argparse简单分析

在python 2.7 后,不推荐使用 optparse, 而推荐使用 argparse. 其它的不多说,简单的分析下我遇到的问题:我是想用 argparse 来解析不定长的命令行参数 例如: import argparse import sys parser = argparse.ArgumentParser(description='test parsing arguments') parser.add_argument('pos1', nargs='*') parser.add_argum

Python 命令行参数和getopt模块详解

1.需求来源 有时候我们需要写一些脚本处理一些任务,可能根据不同的条件输入不同的命令,来完成不同的任务.能不能做到跟linux操作系统一样,看着更高大上一点呢? 答案当然是可以的啦!getopt能满足你的需求 先看个linux 中的系统命令吧:最终目的就是写出类似的脚本. 2.getopt介绍 getopt这个函数 就是用来抽取 sys.argv 获得的用户输入来确定执行步骤. getopt是个模块,而这个模块里面又有getopt 函数,所以getopt需要这样这样用. getopt.getop

【Python 命令行参数解析: optparse 模块】

大家在使用Python进行脚本开发时,经常需要通过终端交互的方式对Python的脚本模块进行调用.这时在 Python模块中提供基础的命令行参数支持是必不可少的.那么,在Python中我们如何实现命令行参数的传入和解析呢,如下内容将对此进行简要的介绍. Python对命令行参数解析的支持 Python中通过两个内建模块对命令行参数解析进行支持:getopt 和 optparse 两种内置支持 模块名 功能说明 getopt 对命令行参数进行简单的处理 optparse 能够对命令行参数进行复杂的

python命令行参数处理模块 optparse 使用参考

from optparse import OptionParser parser = OptionParser() parser.add_option( '-f', '--file', dest='filename', help='write report to FILE', metavar='FILE' ) parser.add_option( '-q', '--quiet', action='store_false', dest='verbose', default=True, help='

python 命令行参数解析

本文是从我另一个博客转载过来的,欢迎大家点击进去看一下,帮我增加点人气^_^ ImPyy 选择模块 根据python参考手册的提示,optparse 已经废弃,应使用 argparse 教程 概念 argparse 模块使用 add_argument 来添加可选的命令行参数,原型如下: ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, r

python命令行参数处理

使用sys.argv获得参数,使用getopt和optparse两个内建的模块处理命令行参数: getopt,只能简单处理 命令行参数: optparse,它功能强大,而且易于使用,可以方便地生成标准的.符合Unix/Posix 规范的命令行说明. sys.argv: """ 将参数转化成字典形式 python testargv1.py -o data.txt -i sql.txt --->sql.txt {'-o':'data.txt','-i':'sql.txt'}

docopt——好用的Python命令行参数解释器

Qingchat使用的命令行参数解释器是 docopt,用下来感觉非常棒,所以决定介绍一下这个库.( 奉劝各位看官,真爱生命,远离argparse. ) 介绍 docopt 本质上是在 Python 中引入了一种针对命令行参数的形式语言,在代码的最开头使用""" 文档注释的形式写出符合要求的文档,就会自动生成对应的parse,体验非常赞. 用法 样例 docopt的使用非常简单,以Qingchat为例,你只需要在代码最开头加入: """Qingc