Я пытаюсь взять несколько файлов в качестве ввода с терминала. номер входа может варьироваться от 1 до многих. Вот вход для моей программыСценарий Python для ввода нескольких аргументов из оболочки
F3.py -e <Energy cutoff> -i <inputfiles>
Я хочу, чтобы параметр -i, чтобы принять любое количество значений от 1 до multiple.e.g.
F3.py -e <Energy cutoff> -i file1 file2
F3.py -e <Energy cutoff> -i *.pdb
Прямо сейчас он берет только первый файл и затем останавливается. Это то, что я до сих пор:
def main(argv):
try:
opts,args=getopt.getopt(argv,"he:i:")
for opt,arg in opts:
if opt=="-h":
print 'F3.py -e <Energy cutoff> -i <inputfiles>'
sys.exit()
elif opt == "-e":
E_Cut=float(arg)
print 'minimum energy=',E_Cut
elif opt == "-i":
files.append(arg)
print files
funtction(files)
except getopt.GetoptError:
print 'F3.py -e <Energy cutoff> -i <inputfiles>'
sys.exit(2)
Любая помощь будет оценена. Благодаря
Я бы предложил прочитать о модуле [argparse] (https://docs.python.org/2/howto/argparse.html) Python, который, как правило, легче работать, чем 'getopt'. – larsks