2013-09-05 26 views
5

döndürür ben aşağıdaki kod parçası var:Python fonksiyonu Yok

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) 

Python interaktif terminalde bu kod hata ayıklama ve bunu yaparsam:

print retornaReplicas(verify_key) 

O 'Hiçbiri' döndürür. Ama ben böyle (bir işlevi yerine) elle komutları yazarsanız:

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) 

çalışıyor. Python da herhangi bir hata vermez. Bu geri dönüş kararı neden çalışmıyor?

BTW, verify_key, hata ayıklama amacıyla (ve bilinen bir değer) manuel olarak kurduğum bir UUID'dir ve bu kod, bir danışma yapmak için sqlite3 veritabanlarını kullanmaktadır.

+2

Kodun kalanını yükleyebilir misiniz? Ben ithalat ' –

+2

hakkında bir şeyden şüpheleniyorum Kod benim için iyi çalışıyor (her ne kadar enterpolasyon yerine SQL parametrelerini kullanırdım). –

cevap

1

Üzgünüm, şimdi işe yaradı. Ben daha önce ithal ettiğim bir şeyin tuhaf bir böcek ya da bir şey yaptığını düşünüyorum. Eski kabuğundan çıkıp başka bir tane açtıktan sonra çalıştı.

Btw, Sadece kodun tamamını yayınlamıyorum çünkü bu kanlı bir karmaşa. Gerçekten hoşuma gitmiyor, ama bu aslında benim kodum değil ve yeniden yazmanın zamanına da sahip değil (bu, Bilgisayar Bilimi'nden mezun olma projemdir).

+0

Lütfen kendi cevabınızı doğru olarak işaretleyin, böylece cevabınız Cevaplanmamış sorular listesinde görünmeyecektir. –