2013-09-05 14 views
5

Ich habe das folgende Stück Code:Python-Funktion gibt keine

def retornaReplicas(verify_key): 
    connection = sqlite3.connect('servidor.db') 
    cursor = connection.cursor() 

    sql = 'SELECT replicas FROM arquivos_sad WHERE verify_key="%s"' % (verify_key) 
    cursor.execute(sql) 
    resultado = cursor.fetchone() 

    return '@'.join(resultado) 

Ich Debuggen diesen Code auf Python interaktives Terminal und wenn ich tun:

print retornaReplicas(verify_key) 

Es gibt 'Keine'. Aber wenn ich die Befehle manuell (anstelle einer Funktion) wie folgt eintippe:

connection = sqlite3.connect('servidor.db') 
cursor = connection.cursor() 

sql = 'SELECT replicas FROM arquivos_sad WHERE verify_key="%s"' % (verify_key) 
cursor.execute(sql) 
resultado = cursor.fetchone() 
print '@'.join(resultado) 

es funktioniert. Python gibt auch keine Fehler. Warum funktioniert diese Rückgabe nicht?

BTW, Verify_key ist eine UUID, die ich manuell für Debugging-Zwecke eingerichtet habe (und es ist ein bekannter Wert) und dieser Code verwendet sqlite3-Datenbanken, um eine Konsultation zu machen.

+2

Können Sie den Rest des Codes veröffentlichen? Ich vermute etwas über Ihre 'import's –

+2

Der Code funktioniert gut für mich (obwohl ich SQL-Parameter anstelle der Interpolation verwenden würde). –

Antwort

1

Entschuldigung, jetzt hat es funktioniert. Ich denke, dass etwas, das ich vorher importiert habe, einen seltsamen Fehler oder so gemacht hat. Nachdem ich die alte Muschel verlassen und eine andere geöffnet hatte, funktionierte es.

Btw, ich poste nicht den ganzen Code, weil es ein blutiges Durcheinander ist. Ich mag es wirklich nicht, aber das ist ursprünglich nicht mein Code, und ich habe nicht wirklich die Zeit, es umzuschreiben (das ist mein Projekt, um meinen Abschluss in Informatik zu machen).

+0

Bitte markieren Sie Ihre eigene Antwort als die richtige, so dass Ihre Antwort nicht mehr in der Liste der unbeantworteten Fragen erscheint. –