Основная часть правильно ответила Thorbjørn Ravn Andersen.
Этот ответ пытается пролить свет на оставшийся вопрос: как файл класса с ошибками попадет в банку?
Каждая сборка (mvn & amp; javac или eclipse) сигнализирует по-своему, когда она попадает в ошибку компиляции, и откажется от нее создать Jar-файл (или, по крайней мере, предупредить вас). Наиболее вероятной причиной бесшумного получения файлов классов с ошибками в jar является одновременная работа Maven и Eclipse.
Если у вас открыт Eclipse при запуске сборки mvn, вы должны отключить Project> Build Automatically, пока mvn не завершится.
myresult будет списком кортежей с одним элементом, одним столбцом выбора из базы данных.
Ниже показано, что происходит с difflib.
a = [('foo',),('bar',)]
difflib.get_close_matches('foo', a)
[]
a = [a[0] for a in a]
difflib.get_close_matches('foo', a)
['foo']
Вы можете использовать chain.from_iterable()
для объединения всех строк в myresult
. Вы также можете попробовать изменить аргумент cutoff
в difflib.get_close_matches()
:
from itertools import chain
import difflib
myresult = [('Food-Fact or Fiction S04E16 Tea Time WEBRip x264-CAFFEiNE',), ('A Million Little Things S01E17 720p HEVC x265-MeGusta',), ('The Pioneer Woman S21E09 16-Minute Chicken 480p x264-mSD',), ('The Pioneer Woman S21E09 16-Minute Chicken AAC MP4-Mobile',), ('Northern Rescue S01E09 720p HEVC x265-MeGusta',), ('Food-Fact or Fiction S04E16 Tea Time XviD-AFG',), ('Food-Fact or Fiction S04E16 Tea Time 480p x264-mSD',), ('Food-Fact or Fiction S04E16 Tea Time AAC MP4-Mobile',), ('How to Get Away with Murder S05E15 720p HEVC x265-MeGusta',), ('The Titan Games S01E09 720p HEVC x265-MeGusta',)]
c = chain.from_iterable(myresult)
print(difflib.get_close_matches('Food', c, cutoff=0.1))
Вывод:
['Food-Fact or Fiction S04E16 Tea Time XviD-AFG', 'Food-Fact or Fiction S04E16 Tea Time 480p x264-mSD', 'Food-Fact or Fiction S04E16 Tea Time AAC MP4-Mobile']
Благодаря @Rich Andrews его работа:
mycursor.execute("SELECT Release_Name FROM Lucas_Table WHERE Published_Time > SUBDATE( CURRENT_TIME, INTERVAL 30 MINUTE)")
myresult = mycursor.fetchall()
myresult = [a[0] for a in myresult]
last=input('give me:')
me = difflib.get_close_matches(last, myresult)
print(me)
результат для «Большого британского приключения Джеймса Мартинса S01E03 WEB x264-LiGATE»:
give me:James Martins Great British Adventure S01E03 WEB x264-LiGATE
['James Martins Great British Adventure S01E09 WEB x264-LiGATE', 'James Martins Great British Adventure S01E11 WEB x264-LiGATE']
***Repl Closed***