我正在学习使用 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/