多个打印输出,只打印其中一个
Multiple print output, printing only one of them
python 的新手。所以我是 运行 这个脚本,其中听到一个 mp3 文件(听 api),脚本 return 该文件的元数据(艺术家,曲目名称),具有不同的置信度百分比.
代码片段:
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,默认情况下,正在写入最后一个输出(百分比较低)。
输出:
拉娜德雷
Summertime Sadness (Cedric Gervais remix)
f85d4c4d-20e0-4cdc-a443-45fd5eaeffdc
91%
拉娜德雷
Summertime Sadness (Cedric Gervais remix)
14aa03d7-3923-45df-b0e3-8ff72b94fc10
69%
有没有办法只捕获第一个输出并将其插入数据库?
对于任何无意的不明确表示歉意。
(1) 为简单起见,在循环的顶部去掉它。将 print 语句移动到循环之前的行。
(2) 如果你只想要一个结果,那么不要遍历所有结果。抓住第一个并单独处理那个。具体来说,用你的 for 命令换取 for
score, rid, title, artist = results[0]
然后继续您的其余代码。
python 的新手。所以我是 运行 这个脚本,其中听到一个 mp3 文件(听 api),脚本 return 该文件的元数据(艺术家,曲目名称),具有不同的置信度百分比.
代码片段:
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,默认情况下,正在写入最后一个输出(百分比较低)。
输出:
拉娜德雷 Summertime Sadness (Cedric Gervais remix) f85d4c4d-20e0-4cdc-a443-45fd5eaeffdc 91%
拉娜德雷 Summertime Sadness (Cedric Gervais remix) 14aa03d7-3923-45df-b0e3-8ff72b94fc10 69%
有没有办法只捕获第一个输出并将其插入数据库?
对于任何无意的不明确表示歉意。
(1) 为简单起见,在循环的顶部去掉它。将 print 语句移动到循环之前的行。
(2) 如果你只想要一个结果,那么不要遍历所有结果。抓住第一个并单独处理那个。具体来说,用你的 for 命令换取 for
score, rid, title, artist = results[0]
然后继续您的其余代码。