Ich habe unten Python-Programm übernimmt Argument von der Befehlszeile.Python übergeben Kommandozeile Argument mit-in-Programm
import argparse
import sys
choice=['orange','apple', 'grapes', 'banna']
def select():
parser = argparse.ArgumentParser(prog='one', description='name test')
parser.add_argument(
'fname',
action="store",
type=str,
choices=choice,
help="furits name")
args = parser.parse_args(sys.argv[1:2])
print 'selected name {0}\n'.format(args.fname)
if __name__ == '__main__':
select()
das funktioniert
python s.py apple
selected name apple
Wie Argument mit in Hauptfunktion Inline können. Ich habe das versucht, aber es funktioniert nicht.
Hauptleitung ändern dies.
if __name__ == '__main__':
sys.argv[0]='apple'
select()
Fehler unter erhalten.
usage: one [-h] {orange,apple,grapes,banna} one: error: too few arguments
Wie kann ich dies in Argument erreichen?
dank -SR
Die Standardaktion für 'parse_args' ist' sys.argv [1:] '. 'sys.argv [0]' wird als Standardattribut für "prog" verwendet. – hpaulj