0
這是當前的代碼。如何使用帶有條件可選參數的python argparse?
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)。
感謝,指出我在正確的方向。經過測試,我認爲這是有效的,但幫助文件似乎有點過分:$ ./sacsproc CombineAppMapp --help usage:sacsproc ConvertAppMapp [-h] [input] [output] – gunslingor
移動東西我得到了(不是我所期望的):$ ./sacsproc CombineAppMapp --help 用法:sacsproc [操作] ConvertAppMapp [-h] [輸入] [輸出] – gunslingor
我希望你可以自己連接點,但現在有一個更完整的例子,我想你想要什麼... –