刚接触到蟒蛇。因此,我正在运行这个脚本,其中听到了一个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中,默认情况下,最后一个输出(百分比较低)正在编写中。
产出:
拉娜·德尔·雷伊夏季悲伤(Cedric Gervais混合)f85d4c4d-20 e0-4 4cdc a443-45fd5eaeffdc 91%
拉娜·德尔·雷伊夏季悲伤(塞德里克·热尔韦混合) 14aa03d7-3923-45df-b0e3-8ff72b94fc10 69%
有办法只捕获第一个输出并将其插入数据库吗?
对于任何缺乏清晰性的人来说都是无意的。
发布于 2015-09-14 19:13:48
(1)为了简单起见,如果处于循环的顶端,就去掉它。将print语句移到循环之前的行。
(2)如果你只想得到一个结果,那就不要把它们都循环起来。先抓住第一个,然后单独处理那个。具体来说,用你的命令换取
score, rid, title, artist = results[0]然后继续您的其余代码。
https://stackoverflow.com/questions/32568164
复制相似问题