def query_jaydebeapi(self, connect:dict, execute:dict) -> list:
"""
:param connect: passed to jaydebeapi.connect()
:type connect: dict
:param execute: passed to jaydebeapi.Cursor.execute()
:type execute: dict
visit JayDeBeApi docs for latest keys.
connect['jclassname']: Full qualified Java class name of the JDBC driver.
connect['url']: Database url as required by the JDBC driver.
connect['driver_args']=None: Usually sequence of username and password
connect['jars']=None: Jar filename or sequence of filenames for the JDBC driver.
connect['libs']=None: Dll/so filenames or sequence of dlls/sos used
execute['operation']: generally a query or command
execute['parameters']=None: qmark parameters
"""
conn=jaydebeapi.connect(**connect)
...
cursor.execute(**execute)
我可以这样做:
def query_jaydebeapi(self, jclassname, url, operation, parameters=None, driver_args=None, jars=None, libs=None):
但它混合了连接键和执行键,因为我不能将默认值放在非默认值之前
如果连接接受了*args,**kwargs怎么办?或者总共有20个参数?有比第一个更好的选择吗
目前没有回答
相关问题 更多 >
编程相关推荐