我写了以下脚本:
import sqlite3
import os
from contextlib import contextmanager
from sqlite3 import Error
class DatabaseManager():
def __init__(self, repoName, table_name):
self.dbName = repoName
self.tableName = table_name
self.createTables()
@contextmanager
def db_connection(self):
# Wait for max 30 seconds before timing out
con = sqlite3.connect(self.dbName, timeout=30.0)
yield con
con.commit()
con.close()
@contextmanager
def dbFetch(self, sqlExecute):
with self.db_connection() as con:
cur = con.execute(sqlExecute)
return cur.fetchall()
cur.close()
def createTables(self):
if self.tableName == "tableName":
createSQL = "CREATE TABLE if not exists tableName(source text, domain text, jsonExist text, jsonValue text);"
with self.db_connection() as con:
con.execute(createSQL)
我想访问dbFetch(withsql query
)的结果,我如何才能实现它。N0无论我做什么,它只显示<contextlib._GeneratorContextManager object at 0x01054CA0>
dbManager = DatabaseManager("dbSchema", "tableName")
dbManager.createTables()
response = dbManager.dbFetch("SELECT count(*) FROM {0} WHERE SOURCE = '{1}' AND DOMAIN = '{2}'; ".format("tableName", Source, Domain)
如何从dbFetch中获取输出
目前没有回答
相关问题 更多 >
编程相关推荐