2013-09-05 6 views
5

У меня есть следующий фрагмент кода:функция Python возвращает None

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 интерактивного терминала, и если я делаю:

print 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() 
print '@'.join(resultado) 

это работает. Python тоже не дает ошибок. Почему это возвращение не работает?

BTW, verify_key - это UUID, который я настраивал вручную для целей отладки (и это известное значение), и этот код использует базы данных sqlite3 для консультаций.

+2

Можете ли вы разместить остальную часть кода? Я подозреваю что-то о вашем 'import's –

+2

. Код работает отлично для меня (хотя я бы использовал параметры SQL вместо интерполяции). –

ответ

1

Извините, теперь это сработало. Я думаю, что что-то, что я импортировал, сделал какую-то странную ошибку или что-то в этом роде. После выхода из старой оболочки и открытия другой она сработала.

Btw, я просто не публикую весь код, потому что это кровавый беспорядок. Мне это действительно не нравится, но это не изначально мой код, и у меня нет времени переписывать его (это мой проект, чтобы окончить компьютерную науку).

+0

Пожалуйста, отметьте свой собственный ответ как правильный, чтобы ваш ответ больше не отображался в списке вопросов без ответа. –

Смежные вопросы