`
东边日出西边雨
  • 浏览: 262782 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

argparse命令含参数模块

 
阅读更多

argparse是python的一个命令行参数模块,可以解析命令行参数,生成帮助等。

 

你可以这样使用它:

 

#!/usr/bin/python

from argparse import ArgumentParser

p = ArgumentParser(usage='it is usage tip', description='this is a test')
p.add_argument('--one', default=1, type=int, help='the first argument')
p.add_argument('--two, default=2, type=int, help='the second argument')
p.add_argument('--docs-dir, default="./", help='document directory')

args = p.parse_args()

#可以打印出来查看
print args

#打印某一个参数
print args.one
print args.docs_dir   #经过parse_args()函数后参数名称去掉了前面的"--",所有的"-"转换为"_"

 

 

这个文件的名称叫做test.py , 你可以这样运行它:

                                                ./test.py

想要查看是否有哪些参数可以:

                                                ./test.py --help  或者  ./test.py -h

会打印出以下信息:

 

usage: it is usage tip

this is a test

optional arguments:
  -h, --help  show this help message and exit
  --one ONE   the first argument
  --two TWO   the second argument
  --docs-dir DOCS_DIR   document directory

 

 

 然后就可以带参数运行程序:

 

                                      ./test.py --one 10 --two 20 --docs-dir /opt/docs/

 

 但是在这种情况下:“如果运行程序时带了一个不认识的参数”,就会报错:

 

                                      ./test.py --p 235

 

usage: it is usage tip
test.py: error: unrecognized arguments: ./test.py --p 235

 

 

有时我们不希望这样,我们的需求是:只提取有用的参数,不认识的参数丢弃但并不需要报错".

这时程序可以这样写:

 

#!/usr/bin/python

import sys
from argparse import ArgumentParser

p = ArgumentParser(usage='it is usage tip', description='this is a test')
p.add_argument('--one', default=1, type=int, help='the first argument')
p.add_argument('--two, default=2, type=int, help='the second argument')
p.add_argument('--docs-dir, default="./", help='document directory')

# 这个函数将认识的和不认识的参数分开放进2个变量中
args, remaining = p.parse_known_args(sys.argv)

#可以打印出来查看
print args
print remaining

 

 

再次运行程序:

 

                                      ./test.py --p 235

 

这个时候就会打印出:

 

Namespace(docs_dir='./', one=1, two=2)
['./test.py', '--p', '235']

 

 

分享到:
评论

相关推荐

    python命令行解析模块argparse.pdf

    argparse 模块的核心概念是 ArgumentParser,用于定义命令行参数的解析规则。ArgumentParser 对象可以添加多个参数,包括位置参数和可选参数。 位置参数 位置参数是必选参数,必须在命令行中提供。例如,在上面的...

    python-sphinx_argparse:Sphinx扩展,自动记录argparse命令和选项

    在Python编程中,argparse模块是处理命令行参数和选项的标准库,它使得编写具有复杂命令行接口的脚本变得简单。而`sphinx-argparse`是Sphinx的一个扩展,它的主要目的是自动为使用argparse定义的命令行接口生成文档...

    Python解析命令行读取参数之argparse模块

    ### Python 解析命令行读取参数之 argparse 模块 #### 概述 在实际的开发工作中,Python 脚本经常会需要从命令行接收参数。为了使这项工作既简单又规范化,Python 提供了一个非常实用的内置库——`argparse`。与 `...

    Python如何使用argparse模块处理命令行参数

    本篇文章将详细讲解如何使用`argparse`模块来处理命令行参数。 **一、argparse模块基础** 1. **导入模块**: 首先,我们需要导入`argparse`模块,这是Python 3的标准库之一,无需额外安装。 ```python import ...

    python中argparse模块用法实例详解

    首先,`argparse`模块允许我们定义命令行接口,包括各种选项、参数和子命令。这些定义可以用于创建一个`ArgumentParser`对象,然后通过`add_argument()`方法添加具体参数和选项。下面是一些关键的`add_argument()`...

    python 如何利用argparse解析命令行参数

    `argparse`模块是Python标准库中的一个命令行选项、参数和子命令解析器,用于构建强大而灵活的命令行接口。它可以帮助开发者轻松地处理命令行参数和选项,使得程序更加用户友好。 ### 基本用法 在使用`argparse`前...

    Python技法:用argparse模块解析命令行选项.doc

    argparse模块还提供了许多其他特性,比如子命令的支持,用于构建复杂的命令行工具。它还可以自动生成详细的使用帮助和错误消息,极大地提高了命令行接口的用户体验。 总的来说,Python的argparse模块是开发命令行...

    Python argparse模块使用方法解析

    - **`add_argument` 方法**:此方法用于定义命令行参数。 - `-k` 和 `--keywords`:短选项和长选项。 - `help`:为参数提供帮助信息,当用户请求帮助时显示。 - `type`:参数的数据类型。 - `required`:是否为...

    Python参数解析模块sys、getopt、argparse使用与对比分析

    ### Python参数解析模块sys、getopt、argparse使用与对比分析 #### 一、引言 在Python开发中,处理命令行参数是一项常见的任务。它不仅有助于提高脚本的灵活性和可配置性,还能增强其交互性和用户体验。Python内置...

    argparse-1.2.1

    `argparse`是Python标准库中的一个模块,用于命令行选项、参数和子命令解析。在Python编程中,尤其是在编写需要通过命令行接口执行的工具或脚本时,`argparse`提供了一种灵活且易于使用的机制来处理命令行输入。`...

    PyPI 官网下载 | argparse-deco-0.6.0.tar.gz

    argparse模块是Python标准库的一部分,用于命令行选项、参数和子命令解析。argparse-deco可能提供了一些额外的功能,比如自定义装饰器,使得命令行接口的定义更加简洁或者增加了额外的特性,如日志记录、错误处理、...

    howto-argparse.pdf

    Argparse是Python标准库中的一个用于命令行参数解析的模块,旨在简化创建命令行接口的过程。由于给出的文档信息不完整,仅能根据提供的内容描述部分知识点。 知识点一:Argparse模块介绍 Argparse是Python的一个...

    sphinx-argparse:Sphinx扩展,可自动记录argparse命令和选项

    在Python中,`argparse`模块是处理命令行参数和选项的标准库。它提供了创建复杂命令行界面的能力,包括支持短选项、长选项、默认值、必需参数、可选参数等。`argparse`使得编写具有清晰帮助和使用信息的命令行工具变...

    Python解析命令行读取参数–argparse模块使用方法

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。 如果脚本很...

    Python库 | argparse_node-0.0.2-py3-none-any.whl

    `argparse_node` 库是 `argparse` 模块的一个扩展,`argparse` 是Python标准库中的一个强大命令行选项、参数和子命令解析器。`argparse` 使得编写解析命令行参数的Python程序变得简单,而 `argparse_node` 可能是...

    Python argparse模块应用实例解析

    `argparse`模块是Python标准库中的一个模块,用于处理命令行参数和选项。它提供了一种简单且灵活的方式来定义和解析命令行输入,使得编写带有复杂命令行接口的脚本变得容易。下面我们将详细讨论`argparse`的基本使用...

    Python库 | argparse_tree-0.1.1.tar.gz

    `argparse`是Python标准库的一部分,主要用于处理命令行选项、参数和子命令。而`argparse_tree`库则为`argparse`增加了对子命令组织成树状结构的支持,使得复杂命令行接口的构建更加方便。 在Python开发中,`...

    Python高阶——argparse(命令行与参数解析)

    `argparse`模块是Python标准库中的一个功能强大的命令行选项、参数和子命令解析器,它可以帮助我们轻松地构建命令行界面。下面我们将详细探讨如何使用`argparse`来处理命令行参数。 1. **前言** 在编写命令行工具...

    Python命令行解析模块详解

    它遵循着Unix的getopt()函数相同的约定(用-/–指定命令参数)。这个模块提供两个函数(getopt.getopt()/getopt.gnu_getopt())和一个参数异常(getopt.GetoptError)。 这里重点介绍getopt.getopt()这个函数。 ...

Global site tag (gtag.js) - Google Analytics