美文网首页
argparse --- 命令行选项、参数和子命令解析器

argparse --- 命令行选项、参数和子命令解析器

作者: butters001 | 来源:发表于2021-02-20 10:00 被阅读0次

argparse 模块可以让人轻松编写用户友好的命令行接口。

  1. 创建parser对象
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
  1. 添加参数
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                    help='an integer for the accumulator')
  1. 解析参数
args = parser.parse_args()

ArgumentParser 对象

常用参数

  • prog
    程序的名称(默认:sys.argv[0] 即文件名)
parser = argparse.ArgumentParser(prog='myprogram')

%(prog)s 格式串表示 sys.argv[0] 或 prog= 参数确定的程序名称的引用。

  • description
    对这个程序的描述
parser = argparse.ArgumentParser(description='A foo that bars')
  • epilog
    一些程序喜欢在 description 参数后显示额外的对程序的描述
parser = argparse.ArgumentParser(
    description='A foo that bars',
    epilog="And that's how you'd foo a bar")

add_argument() 方法

添加一个参数,定义这个命令行参数应当如何解析。

  • name or flags
    第一个传递给 add_argument() 的参数必须是一系列 flags 或者是一个简单的参数名。
parser.add_argument('-f', '--foo')

而位置参数可以这么创建:

parser.add_argument('bar')

parse_args() 被调用,选项会以 - 前缀识别,剩下的参数则会被假定为位置参数

  • action
    ArgumentParser 对象将命令行参数与动作相关联。
parser.add_argument('--version', action='version', version='%(prog)s 2.0')
  • default
    默认值为 None,指定了在命令行参数未出现时应当使用的值。
parser.add_argument('--foo', default=42)
  • type
    默认情况下,解析器会将命令行参数当作简单字符串读入。 然而,命令行字符串经常应当被解读为其他类型。
    普通内置类型和函数可被用作类型转换器:
import argparse
import pathlib

parser = argparse.ArgumentParser()
parser.add_argument('count', type=int)
parser.add_argument('distance', type=float)
parser.add_argument('street', type=ascii)
parser.add_argument('code_point', type=ord)
parser.add_argument('source_file', type=open)
parser.add_argument('dest_file', type=argparse.FileType('w', encoding='latin-1'))
parser.add_argument('datapath', type=pathlib.Path)

用户自定义的函数也可以被使用:

>>> def hyphenated(string):
...     return '-'.join([word[:4] for word in string.casefold().split()])
...
>>> parser = argparse.ArgumentParser()
>>> _ = parser.add_argument('short_title', type=hyphenated)
>>> parser.parse_args(['"The Tale of Two Cities"'])
Namespace(short_title='"the-tale-of-two-citi')
  • required
    是否是必须参数
parser.add_argument('--foo', required=True)
  • help
    help 值是一个包含参数简短描述的字符串。
parser.add_argument('--foo', action='store_true',
                    help='foo the bars before frobbling')

相关文章

  • Python-argparse模块

    Argparse 教程argparse--- 命令行选项、参数和子命令解析器

  • Python之Argparse教程

    argparse --- 命令行选项、参数和子命令解析器 中文教程_网址1:https://docs.python...

  • argparse --- 命令行选项、参数和子命令解析器

    argparse 模块可以让人轻松编写用户友好的命令行接口。 创建parser对象 添加参数 解析参数 Argum...

  • python模块学习

    一、argparse python用于解析命令行参数和选项的标准模块,后面可以跟着不同的参数选项以实现不同功能 使...

  • python之argparse 模块

    1. 简介 argparse 模块主要用于处理 Python 命令行参数和选项,程序定义好所需参数后,该模块会通过...

  • python模块之Argparse

    背景 Argparse 顾名思义参数解析器,是命令行运行 python 文件时解析参数的模块,多用在需要多次修改...

  • argparse模块

    argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤...

  • Python--argparse 模块

    一、简介 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块...

  • Python学习笔记:argparse的使用

    argparse是什么? argparse是一个命令行参数解析模块,可以解析从命令行输入的内容。 argparse...

  • argparse

    argparse import argparse命令行参数解析模块简单示例 选择性添加参数 python test...

网友评论

      本文标题:argparse --- 命令行选项、参数和子命令解析器

      本文链接:https://www.haomeiwen.com/subject/hbdaxltx.html