【发布时间】:2017-06-06 18:07:33
【问题描述】:
这是当前代码。
import time
import collections
from modules import outputs
from modules import scrub
from modules import lookups
parser = argparse.ArgumentParser(description='AppMap Converter to Generate Asset Files from AppMapp Data')
parser.add_argument("operation", nargs='?', default="empty", help='The operation to perform')
parser.add_argument("input", nargs='?', default="empty", help='The input AppMapp File Path')
parser.add_argument("output", nargs='?', default="empty", help='The output Asset File Path')
args = parser.parse_args()
start = time.time()
if(args.operation == "Convert"):
input_file_path = args.input
output_file_path = args.output
#DO LOTS OF STUFF
else:
exit()
这个脚本叫做sacsproc,所以我从命令行运行它如下:
./sacsproc Convert input.csv output.csv
这一切都很好,问题是我需要更多的 sacsproc 命令,这些命令可能有一组完全不同的辅助参数。即一个命令可能是:
./sacsproc Clean -rts input.csv output.csv err.csv
因此,我试图确定如何定义以第一个参数为条件的参数?在我看来,我正在考虑执行我想做的事情的 zfs 命令行实用程序(例如 zpool create mirror sdb sdc vs. zpool remove sda)。
【问题讨论】:
标签: python conditional argparse optional-parameters