我有一个带有两个参数(连接(对象)和sql_query(字符串))的invoke_query函数。我在集合中有一组查询query = [“ queryA”,“ queryB”]。我想将连接对象和查询集中的每个项目传递给函数invoke_query。这可能吗,还是我做错了?
connector = handlers.helpers.sf_connector.SF_CONNECTOR().get_connector(str(Schemas.PRIVATE))
queries = ["create table A...", "create table B..."]
with ThreadPoolExecutor() as executor:
results = executor.map(invoke_query, connector, queries)
def invoke_query(connection, sql):
cursor = connection.cursor()
cursor.execute(sql)
答案 0 :(得分:1)
如评论中所述,最简单的方法是最好的:
for sql in queries:
invoke_query(connection, sql)
如果要处理结果,内置的“ map”可以满足您的要求,但是首先您需要使函数仅接受一个参数。
from functools import partial
invoke = partial (invoke_query, connection)
for result in map (invoke, queries):
#...
但是在简单情况下没有优势。