You Know Nothing
  • 主页
  • 分类
  • 标签
  • 归档

Python argparse 模块

argparse 是 Python 标准库中推荐的命令行解析模块。

# 导入
import argparse
# 添加帮助信息的整体描述
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
# 冲突选项
group = parser.add_mutually_exclusive_group()
# 以下两个参数是冲突的,只能存在一个
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")
# 一个 - 是简写,-- 是全写,action 表示默认参数为 true

# 添加位置参数
parser.add_argument("x", type=int, help="the base")
parser.add_argument("y", type=int, help="the exponent")
# 获得参数
args = parser.parse_args()
# 使用参数
answer = args.x**args.y

if args.quiet:
    print(answer)
elif args.verbose:
    print("{} to the power {} equals {}".format(args.x, args.y, answer))
else:
    print("{}^{} == {}".format(args.x, args.y, answer))

输出

usage: prog.py [-h] [-v | -q] x y

calculate X to the power of Y

positional arguments:
  x              the base
  y              the exponent

optional arguments:
  -h, --help     show this help message and exit
  -v, --verbose
  -q, --quiet

另外还有一个 parse_known_args() 函数,在接受多于程序需要的参数时保证不出错,返回一个 tuple 类型的命名空间和一个保存着余下的命令行字符的 list。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
    '--flag_int',
    type=float,
    default=0.01,
    help='flag_int.'
)
FLAGS, unparsed = parser.parse_known_args()
print(FLAGS)
print(unparsed)

输出

[In 1]: python prog.py --flag_int 0.02 --double 0.03 a 1
[Out 1]: Namespace(flag_int=0.02) ['--double', '0.03', 'a', '1']

RELATED

  • xlwings 教程
  • Python 教程
  • Python 100 days

OLDER

  • 贝叶斯定理
  • 指示器随机变量
  • 最大子数组问题
  • 排序算法
  • 矩阵微积分

NEWER

  • 拉格朗日对偶性
  • 方向导数和梯度
  • xlwings 教程
  • 似然函数
  • 深度学习 第一章 引言

发布日期

2018-11-10 12:11:25

最后更新

2018-11-10 12:11:25

分类

Python

标签

  • argparse 1
  • Python 4
  • Powered by Pelican. Theme: Elegant by Talha Mansoor