Grundlagen: Argumente zum Projekt start

13/11/2007 - 22:19 von Adrian Stern | Report spam
Hallo zusammen...

Ich bin Linux User ... nicht ganz neu aber auch nicht alt eingesessen.
Auf alle Fàlle vergesse ich immer wichtige Befehle und dem möchte ich
entgegenwirken.

Ich habe mir ein Programm vorgestellt in dem ich mir mal so eben Notizen
(oder eine persönliche man-Page) machen kann.

Der Aufruf sollte dann in etwa so ausschauen:

iman <option> [Title]

iman -n burn --> erstellt ein File mit dem Namen "burn" in einem
bestimmten Verzeichnis und öffnet dieses in einem Editor.

iman -e burn --> setzt voraus dass das File bereits existiert und öffnet
dieses in einem Editor.

iman -r burn --> gibt den Inhalt des Files in der Shell wieder.



Nach einigem Googeln habe ich dies hier erstellt:

try:
opts, args = getopt.getopt(sys.argv[1:], "ner", ["new", "edit",
"read"])

Ueber die Funktionsweise bin ich mir nicht ganz im klaren aber mit:

for o, a in opts:
if o in ("-n", "--new"):

... funktioniert der Zugriff.
Wird etwas anderes als -n, -e, oder -r angegeben, kann ich eine
Fehlermeldung ausgeben. Nun müsste ich aber auch noch eine entsprechende
Meldung ausgeben können wenn KEINE Argumente angegeben werden:

iman burn

Wie mache ich das?
Ich hab auf verschiedene Arten versucht sys.argv auf mit 0 zu vergleichen
aber ich kann mir nicht vorstellen wie das die Professionellen machen.


Sorry das war vielleicht zu ausfühlich ... was ich wissen muss in kürze:

Wie finde ich heraus ob beim Aufruf KEINE Parameter übergeben wurden, und
wie kann ich dann ggf. eine Meldung ausgeben (param. Requ.)

hmm ... sogesehen ist das alles was ich grad wissen muss.

Wenn jemand noch ein Link zu einer guten Referenz oder Tutorial o.à.
hat ... immer her damit.

Gute Nacht
Adrian Stern
 

Lesen sie die antworten

#1 Martin Winkler
13/11/2007 - 22:28 | Warnen spam
Am Tue, 13 Nov 2007 21:19:43 +0000 (UTC)
schrieb Adrian Stern :
Wie finde ich heraus ob beim Aufruf KEINE Parameter übergeben wurden,
und wie kann ich dann ggf. eine Meldung ausgeben (param. Requ.)



Habe mal schnell ein python script erstellt. (dateiname: iman.py -
und mit chmod +x iman.py auf executable gesetzt)

-8<schnipp-
from optparse import
OptionParser parser = OptionParser()
parser.add_option("-f", "--file")

(options, args) = parser.parse_args()

print "Optionen: %s" % options
print "Argumente: %s" % args
-8<schnipp-

Ergebnis fuer drei Anwendungsfaelle:

[ ~]$ ./iman.py
Optionen: {'file': None}
Argumente: []

$ ./iman.py blahfasel
Optionen: {'file': None}
Argumente: ['blahfasel']

$ ./iman.py -f /etc/hosts blahfasel
Optionen: {'file': '/etc/hosts'}
Argumente: ['blahfasel']


Wenn jemand noch ein Link zu einer guten Referenz oder Tutorial o.à.
hat ... immer her damit.



http://docs.python.org/lib/optparse-tutorial.html
(von dort hab ich auch den meisten Teil des source-codes oben.

Ähnliche fragen