ich möchte mit argparse prüfen ob input und output definiert sind.
Dabei kann der input eine Liste an Dateien sein.
Dies würde ich folgender maßen bewerkstelligen:
Code: Alles auswählen
#!/usr/bin/python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-i_s','--input_single', help='Input file name',required=True,nargs='+')
parser.add_argument('-o','--output',help='Output file name', required=True)
args = parser.parse_args()
print ("Input file: %s" % args.input_single )
print ("Output file: %s" % args.output )
dann würde ich einfach erweitern wie im folgendem:
Code: Alles auswählen
#!/usr/bin/python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-i_s','--input_single', help='single Input file name',required=True,nargs='+')
parser.add_argument('-i_m','--input_multiple', help='multiple Input file name',required=True,nargs='+')
parser.add_argument('-o','--output',help='Output file name', required=True)
args = parser.parse_args()
print ("Input file: %s" % args.input_single )
print ("Output file: %s" % args.output )
Ich würde jetzt gerne die Prüfung so erweitern das das script nur mit [-i_s] oder nur mit [-i_m] oder mit [-i_s und -i_m] gestartet werden kann.
2.Frage:
Danach möchte ich zu den jeweiligen Listen eine parameter Liste angeben. Also wenn -i_s dann muss -i_s_parameter gesetzt sein und usw.
Kann mir da jemand helfen?
Für entweder -i_s oder -i_m habe ich diesen Ansatz gefunden:
Code: Alles auswählen
#!/usr/bin/python
import argparse
parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('-i_s','--input_single', help='single Input file name',nargs='+')
group.add_argument('-i_m','--input_multiple', help='multiple Input file name',nargs='+')
parser.add_argument('-o','--output',help='Output file name', required=True)
print parser.parse_args()