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
したがって、私は1つが最初の引数を条件と引数を定義する方法を決定しようとしていますか?私の考えでは、私がやろうとしているzfsコマンドラインユーティリティについて考えています(例えば、zpoolはミラーsdb sdcとzpoolはsdaを削除します)。
おかげで、正しい方向に私を指します。テストした後、私はこれがうまくいくと思いますが、ヘルプファイルはちょっと怪しいようです:$ ./sacsproc CombineAppMapp --help usage:sacsproc ConvertAppMapp [-h] [入力] [出力] – gunslingor
):$ ./sacsproc CombineAppMapp --help 使用法:sacsproc [操作] ConvertAppMapp [-h] [入力] [出力] – gunslingor
私はあなた自身でドットをつなぐことを望んでいましたが、今ではもっと正確な例がありますあなたが望むものは私が思う... –