Kommandozeilenparameter werden nicht übergeben

Probleme bei der Installation?
Antworten
bb257
User
Beiträge: 3
Registriert: Montag 9. Dezember 2013, 11:39

Hallo,

ich habe ein Problem mit dem Aufruf von Python. Das Python-Verzeichnis ist in meiner PATH-Variable drin, und wenn ich von der Kommandozeile ein Python-Skript mit "python" davor, also zB.
>python myScript.py
starte, klappt alles. Für "python" wird C:\Python33\python.exe aufgerufen. Ich habe auch C:\Python33\python.exe als Windows-Standardprogramm für .py-Dateien eingerichtet. Wenn ich ein Python-Skript nun mit Doppelklick, oder von der Kommandozeile mit
>myScript.py
starte, werden Kommandozeilenparameter nicht übergeben, len(sys.argv) ist also gleich 1.
Kann mir jemand sagen, woran das liegt?

Vielen Dank!!
BlackJack

@bb257: Was sollte denn bei einem Doppelklick übergeben werden? Und bei dem Beispiel übergibst Du ja auch gar nichts‽
bb257
User
Beiträge: 3
Registriert: Montag 9. Dezember 2013, 11:39

ok, bei einem Doppelklick wird natürlich nichts übergeben, und in meinem Beispiel auch nicht. War also ein schlechtes Beispiel.
Aber zB bei folgendem Aufruf:
>python myScript.py arg1
wird arg1 übergeben, bei
>myScript.py arg1
nicht. Ich verwende ein Skript, das nicht von mir ist. In dem ist auch folgender Aufruf:
os.system('script.py "' + sys.argv[0] + '"')
und der funktioniert nicht, nur wenn ich die Zeile so abändere:
os.system('python script.py "' + sys.argv[0] + '"')
aber das möchte ich nicht, da ich das Skript im Original verwenden möchte. Und von der Kommandozeile geht es auch nicht.
bb257
User
Beiträge: 3
Registriert: Montag 9. Dezember 2013, 11:39

habs gelöst, in der Registry war der Eintrag falsch fürs Übergeben der Argumente, wenn Python per Dateitypzuordnung aufgerufen wird
Antworten