多个打印输出,只打印其中一个

时间:2015-09-14 15:07:44

标签: python mysql pymysql

python新手。所以我正在运行这个脚本,听到一个mp3文件(监听api),脚本返回该文件的元数据(艺术家,曲目名称),信心百分比不同。

代码段:

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中插入这些数据,默认情况下,正在编写最后一个输出(具有较低的百分比)。

输出:

Lana Del Rey Summertime Sadness(Cedric Gervais remix) f85d4c4d-20e0-4cdc-a443-45fd5eaeffdc 91%

Lana Del Rey Summertime Sadness(Cedric Gervais remix) 14aa03d7-3923-45df-b0e3-8ff72b94fc10 69%

是否只捕获第一个输出并将其插入数据库?

任何缺乏清晰度的暗淡无意识。

1 个答案:

答案 0 :(得分:0)

(1)为简单起见,如果在循环的顶部,请除去它。将print语句移动到循环之前的行。

(2)如果你只想要一个结果,那么不要遍历所有结果。抓住第一个,单独处理那个。具体来说,交易你的命令

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

然后继续使用其余的代码。