ich rufe von Script a Script b auf:
Code: Alles auswählen
P_List = ["python.exe", "Indikatoren_loop_neu.py", pwd, sel_indikator[0], indikator_values,sel_ebene,ebene, land]
print P_List
os.spawnv(os.P_WAIT, PythonPath, P_List)
# Ausgabe des prints stimmt auch noch:
C:/python24/python.exe ['python.exe', 'Indikatoren_loop_neu.py', 'mysql', 'select * from indizes where 1=1 and calc_cat in (%s) and kat in (%s)', "['a', 'A']", 'select ID,AGS, Datum, AREA from ebenen where 1=1 and (DES = "Gemeinde" or DES ="kreisfreie Stadt" ) and land = "rp"', 'gemeinde', 'rp']
Code: Alles auswählen
passwort = sys.argv[1]
print passwort
sel_indikatoren = sys.argv[2]
print sel_indikatoren
i_values = sys.argv[3]
print i_values
sel_ebene = sys.argv[4]
print sel_ebene
DES = sys.argv[5]
land = sys.argv[6]
# Ausgabe des prints:
abcde # die Ausgabe des Passwortes erfolgt noch richtig
select # ab hier scheint vom sys.argv[2] nur das 1. Wort genommen
*
from
Wenn ich die einzelnen Argumente aus P_List direkt eintrage anstelle der sys.argv[n] funktioniert das Script problemlos. Nur die Übergabe geht halt irgendwie nicht
EDIT: noch eine Frage zu dem os.spawnv() .... warum kann ich dort keine Listen als Argumente übergeben? Das hat mir heute auch shcon Probleme bereitet ...
EDIT 2: die ganez Problematik hat übrigens in anderen Scripten auch schon problemlos funktioniert und da hatte ich eigentlich nichts anders gemacht, als im ersten Script os.spawnv() aufgerufen, P_list mir Argumenten dort übergeben und dann im zweiten Script die Argumente mit sys.argv[n] übernommen.