(gelöst)Die Verwendung von action="store_true"

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Schaf220
User
Beiträge: 113
Registriert: Montag 11. August 2008, 16:00
Wohnort: Bremen
Kontaktdaten:

Moin alle zusammen,
Ich hab vollgendes Problem, und zwar habe ich das Modul Optparse benutzt und habe jetzt vier Schalter "-c" für compres, "-u" für unkommpress, "-e" für die extension und "-q" für quiet.
Für "-c" und "-u" benötigt man einen Dateiennamen, für "-q" aber nicht wenn dieser Schalter aktiviert wird sollen keine Bildschrimanweisungen kommen
Nur sagt der mir immer wenn ich "-q" ohne Variable aufrufe, das ich den Schalter falsch verwende.
Aufgerufen werden soll das so:

python dateiname.py -c test1.txt [-e z.B. abc] [-q]
Die "[] "stehen für einen optionalen Befehl.
Ich habe gehört das ich mit action = "store_true arbeiten muss, aber das hat irgentwie nicht hingehauen. Wie benutze ich die Variable action?

Code: Alles auswählen

#Parser

parser = OptionParser()

parser.add_option("-c", "--compress", dest="compress",
                  help="File will be compress",
                  metavar="FILE")
parser.add_option("-u", "--uncompress", dest="uncompress",
                  help="liste wird angezeigt",
                  metavar="FILE")
parser.add_option("-e", "--extension", dest="extension",
                  help="add your own extension",
                  metavar="FILE")
parser.add_option("-q", "--quiet", dest="quiet",
                  help="programm will works without soft copy",
                  action="store_true")


(options, args) = parser.parse_args()
Zuletzt geändert von Schaf220 am Montag 29. September 2008, 18:28, insgesamt 2-mal geändert.
BlackJack

Also ich bekomme einen `NameError` weil `OptionParser` nicht definiert ist.

Wenn ich das importiere, dann verstehe ich Dein Problem nicht!? `-q` bringt jedenfalls keine Fehlermeldung.

Probiere die angeblich nicht funktionierenden Beispiele doch bitte vorher aus.

Ansonsten noch ein paar Anmerkungen zur Kommandozeilen API: Optionen sollten wie der Name schon sagt "optional" sein, bei Dir muss man aber mindestens '-c' oder '-u' angeben, das ist also nicht wirklich optional. Schau Dir mal an, wie andere Kompressionsprogramme das lösen.

Und bei '-e' die Metavariable 'FILE' zu nennen ist IMHO etwas verwirrend.
Benutzeravatar
Schaf220
User
Beiträge: 113
Registriert: Montag 11. August 2008, 16:00
Wohnort: Bremen
Kontaktdaten:

Danke aber was heist IMHO?

Ich hab mein Problem grade durch zufall gelöst, aber trotzdem danke!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Schaf220 hat geschrieben:Danke aber was heist IMHO?
In my humble opinion = meiner bescheidenen Meinung nach.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Schaf220
User
Beiträge: 113
Registriert: Montag 11. August 2008, 16:00
Wohnort: Bremen
Kontaktdaten:

Besten Dank
Antworten