Seite 1 von 1

Windows CMD Line & sys.argv

Verfasst: Freitag 3. Oktober 2008, 15:31
von Sr4l
Python Datei "lol.py"

Code: Alles auswählen

import sys
for x in range(len(sys.argv)):
    print "sys.argv ", x, ":::", sys.argv[x]
Output von lol.py

Code: Alles auswählen

C:\>lol.py lol lal 123 456
sys.argv  0 ::: C:\lol.py
Ich frage mich warum das unter der Windows CMD nicht funktioniert?
Früher ging das unter Windows.

Python Version ist 2.5.2 32bit auf einem 64bit OS

über Cygwins Python 2.5.1 32bit auf 64bit OS geht es.

Code: Alles auswählen

C:\>python lol.py lol lal 123 456
sys.argv  0 ::: lol.py
sys.argv  1 ::: lol
sys.argv  2 ::: lal
sys.argv  3 ::: 123
sys.argv  4 ::: 456

Ist das vielleicht ein Python Bug unter Vista (64bit) SP1, kann das vielleicht jemand mit Vista SP1 bestätigen? ich glaube vor SP1, was ich erst 2Monate drauf habe ging es. Habe Python schon erneut installiert um diesen Fehler auszuschließen.

Verfasst: Freitag 3. Oktober 2008, 15:38
von Hyperion
Löst Dein Problem nicht, aber so geht's auch ohne len und range (ungetestet):

Code: Alles auswählen

import sys
for index, arg in enumerate(sys.argv):
    print "sys.argv ", index, ":::", arg

Verfasst: Freitag 3. Oktober 2008, 16:04
von Sr4l
Das ist mir nicht neu, ich habe nur ein minimal Beispiel geschrieben was schon nicht funktioniert.
Das Programm habe ich unter Linux angefangen, vorgestern ist das Netzteil meines Laptops durchgebrannt, so das ich mein Projekt an Windows fortsetzen muss.

Verfasst: Freitag 3. Oktober 2008, 16:09
von Hyperion
Hab mal eine Minute gegoogelt. Vielleicht hilft Dir das weiter?

http://bytes.com/forum/thread587551.html

Verfasst: Freitag 3. Oktober 2008, 17:59
von Sr4l
Jop danke das wars.
Python.File="C:\Python25\python.exe" "%1" %*
Ich hatte in Hkey Classes Root mehrere Python Einträge.
Python, Python.AX..., Python.Dictionary, Python.Dictionary.1, und Python.File wo die Einträge richtig waren, aber es gab noch den Eintrag "py_auto_file" und in darin war der Eintrag falsch.

Danke.