sys.argv[n] ?
Verfasst: Montag 17. Dezember 2007, 13:20
Ich verzweifele jetzt schon eine Stunde an der Fehlersuche. Um das alles genauer nachvollziehen zu können, hab ich jetzt auch shcon an jeder Stelle ein print drin:
ich rufe von Script a Script b auf:
Dann wird auch richtig Script b aufgerufen:
Da scheint das 2. Argument scheinbar nicht als ein String erkannt, aber ich weiß einfach nicht warum. Wo liegt mein Fehler? Ist bestimmt wieder irgendwas total dummes, aber ich seh es einfach nicht.
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.
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.