Merci pour le charlatan en soulignant le hors-par-un!Pour comprendre l'optparse de Python
Le code suivant est ma première tentative d'écriture de code avec Optparse.
Comment pouvez-vous résoudre le problème suivant en obtenant l'aide d'Optparse?
#!/usr/bin/env python
import sys
import os
from optparse import OptionParser
e = sys.argv[1]
b = sys.argv[2]
no = sys.argv[3]
def set_figu(figu):
sum = 777
return sum
def main():
usage = "Usage: negative_bin_base.py <eksponentti> <siirre> <figu>"
parser = OptionParser(usage)
parser.add_option("-h", "--help", dest="help",
help="get synopsis of parameters")
# print the output of the work-horse
print set_figu(no)
(options, args) = parser.parse_args()
if len(args) < 4:
parser.error("incorrect number of arguments")
if options.informative:
print "reading %s..." % options.help
if __name__ == "__main__":
main()
Exemple de sortie mal avec nombre correct de paramètres
python negative_bin_base.py 13 13 332
Traceback (most recent call last):
File "negative_bin_base.py", line 37, in <module>
main()
File "negative_bin_base.py", line 26, in main
help="get synopsis of parameters")
File "/usr/lib/python2.6/optparse.py", line 1020, in add_option
self._check_conflict(option)
File "/usr/lib/python2.6/optparse.py", line 995, in _check_conflict
option)
optparse.OptionConflictError: option -h/--help: conflicting option string(s): -h, --help
Regardez le module optparse, ce qui facilite considérablement le processus s: http://docs.python.org/library/optparse.html –
Pour un cas unique de traitement des args comme vous l'êtes est bien, mais investir le temps d'apprendre optparse en vaudra la peine à long terme. –