Python3 optional, positional arguments

0 votes
asked Mar 25, 2013 in IRF tantárgy by SzaboCs (34 points)  

IRF 1. háziban a feladatomban az alábbi paraméterezésű scriptet kell elkészítenem:

valami.py -m <valami2> -o <valami3> [-s <valami4>]

Tehát -m, -o pozícionális és -s opcionális paraméter.
Az pozícionális paramétert parser.addargument("m",...)-ként az opcionális paramétert parser.addargument("-s",...)-ként kell létrehozni. (http://docs.python.org/3/howto/argparse.html)

Tehát jó ha a scriptem így néz ki?

./valami.py -h
usage: valami.py [-h] [-s S] m o

positional arguments:
  m           xyz help
  o           xyz help

optional arguments:
  -h, --help  show this help message and exit
  -s S        xyz help

Vagy meg lehet oldani hogy -m és -o paraméterek is legyenek, de azok pozicionális paraméterek legyenek?

1 Answer

+1 vote
answered Mar 27, 2013 by micskeiz (2,873 points)  

A kiírás alapján nem pozícionális paramétereket kell használni, hanem nevesítettet. A fenti megoldásod azért nem jó, mert így a kiadott példa futtatással nem működik a szkripted.

Tehát nevesített paramétert kell használni, de neked kell gondoskodni róla, hogy azt megadja a felhasználó (ezt sajnos alapból nem támogatja az argparse).

commented Mar 27, 2013 by david (20 points)  
...