我正在尝试执行目录列表,并在TinyDb数据库中按文件名进行搜索,如下所示:
from tinydb import TinyDB, Query
import os, fnmatch
db = TinyDB('DB_links_filenames.json')
User = Query()
def getFieldData(campo,nome):
results = db.search(User.file == nome )
result = [r[campo] for r in results]
return result
listOfFiles = os.listdir('/home/files')
pattern = "*.mp4"
for entry in listOfFiles:
if fnmatch.fnmatch(entry, pattern):
print(getFieldData('url',entry))
问题在于文件名已按预期进入函数,但在db.search...
中似乎为空,我尝试了以下几种方法:%nome or [nome] or (nome)
,以便将变量添加到搜索查询中,但是没有成功,结果总是相同的[]
。
如果将文件名直接插入查询db.search(User.file == 'filename' )
,则一切正常。
有什么建议吗?