2015-09-14 2 views
0

Новый для python. Поэтому я запускаю этот скрипт, где прослушивается mp3-файл (прослушивание api), и скрипт возвращает метаданные (artist, название дорожки) для этого файла с разным процентом доверия.Несколько выходных данных печати, только один из них

Фрагмент кода:

first = True 
for score, rid, title, artist in results: 
    if first: 
     first = False 
    else: 
     print() 
    cursor.execute("update sc_download set Artist_name=%s , Song_name=%s , MB_ID=%s , Match_Percent=%s where SC_TID=%s" , (artist.encode('utf-8'), title.encode('utf-8'), rid, score*100, track_id)) 
    conn.commit() 
    print('%s\n%s' % (artist, title)) 
    print('%s' % rid) 
    print('%i%%' % (int(score*100))) 

Проблема заключается в том, у меня есть около 3-4 выходов, причем самый высокий процент из них около 90%, а самый низкий составляет 50%. Я также вставляю эти данные в mysql, и по умолчанию записывается последний вывод (с более низким процентом).

Выход:

Лана Дель Рей Летнее Грусть (Седрик Жерве ремикс) f85d4c4d-20e0-4cdc-a443-45fd5eaeffdc 91%

Лана Дель Рей Летнее Грусть (Седрик Жерве ремикс) 14aa03d7-3923-45df-b0e3-8ff72b94fc10 69%

Любой способ, чтобы захватить только первый выход и вставить, что в Databse?

Aplogies для любого отсутствия ясности, непреднамеренного.

+0

Если вы не хотите, чтобы последний выход был вставлен в вашу базу данных, просто ... Не вставляйте последний вывод в свою базу данных. – Kevin

+0

Не могли бы вы предоставить еще какой-нибудь код, который у вас уже есть? Кроме того, пытаетесь ли вы захватить данные из операторов печати в другой программе или просто пытаетесь сохранить «artist» и «title» в базе данных? –

+0

У вас есть контроль над скриптом/программой, которая вставляет в БД? –

ответ

0

(1) Для простоты избавьтесь от этого, если в верхней части вашего цикла. Переместите оператор печати в строку перед циклом.

(2) Если вы хотите получить только один результат, то не пересекайте их все. Возьмите первый и разобраться с одним. В частности, поменяйте свою команду на

score, rid, title, artist = results[0] 

Затем продолжайте остаток кода.

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