python - 如何将互斥参数作为变量传递

标签 python arguments argparse

我正在学习使用 argparse 处理 Python 中的命令行参数。虽然不是互斥的参数可以作为变量传递,但我不清楚如何对互斥的参数执行相同的操作。在下面的示例中,我想打印出所有参数。第 2 个很简单。然而第三个很棘手,因为“-a”和“-b”有不同的目的地名称。因此最后两行不能同时存在于代码中。

#/usr/bin/env python

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-t' dest='thread', help='gtdownload thread', default=4, type=int)
parser.add_argument('-n' dest='number', help='number of downloads', default=1, type=int)

group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('-a', dest='analysis', help='analysis ID')
group.add_argument('-b', dest='barcode', help='barcode')

args = parser.parser_args()

print args.thread
print args.number

#???? how to print out mutually exclusive argument
print args.analysis
print args.barcode

大多数关于 add_mutually_exlusive_group 的教程都停留在 parser.parser_args() 上,并且从不说明之后如何处理互斥参数。但了解如何准确地将互斥参数传递给代码的其余部分非常重要。

最佳答案

if args.analysis is not None:
    print args.analysis

if args.barcode is not None:
    print args.barcode

关于python - 如何将互斥参数作为变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518801/

相关文章:

python - 奇怪的for循环语句

python - Django 在产品服务器中打印

Python:理解引用

Python - 图像部分的平均颜色

c - 函数指针作为常量参数

python : is decorators for method arguments possible?

python - 未提供位置参数时打印帮助

python - 压缩和应用函数列表和相应参数时出现类型错误

python - 在多个自定义模块支持的多个脚本中使用 python 的 argparse

python - Python 和 argparse 的多个位置参数