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!!
Kommandozeilenparameter werden nicht übergeben
@bb257: Was sollte denn bei einem Doppelklick übergeben werden? Und bei dem Beispiel übergibst Du ja auch gar nichts‽
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.
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.