[Python-de] Kommadozeilenargument mit "Leerzeichen"

Georg Mischler schorsch at schorsch.com
Fre Sep 12 11:04:44 CEST 2003


Gerhard Häring wrote:

> Andreas Kuntzagk wrote:
> > Michael Grabietz wrote :
> >
> >>1. python mein_skript.py "input_data.dat"
> >>2. python mein_skript.py "input data.dat"
> >>Was mache ich falsch ?
> >
> > Ist das jetzt ein Aufmerksamkeitstest oder was? :-)
> > Du hast bei 2. den '_" durch ein " " ersetzt ->ergo 2 Parameter statt 1.
>
> Wenn's ein Aufmerksamkeitstest war, bist du durchgefallen :-P
>
> Wenn ein Dateiname Leerzeichen enthält, muss man ihn auf der
> Windows-Shell in Anführungszeichen setzen. Man erwartet dann natürlich
> auch, dass wenn man ihn so als Parameter an ein Python-Skript übergibt,
> er auch als eine Element bei sys.argv ankommt. Das ist schenibar nicht
> so :-/

Ich glaube nicht, dass Python die in **argv vorgefundenen
Argumente nochmal aufsplittet, bevor sie in sys.argv
hinterlegt werden. Also duerfte hier wohl eher schon auf
Windows-Ebene etwas schief gegangen sein.

Ist das Resultat das gleiche, wenn du statt "python"
"pythonw" verwendest? Gibst du diese Kommandozeile
direkt in der Konsole ein, oder steht da noch ein
Batch-Script dazwischen?


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/