Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何不解包查询返回的所有内容?_Python_Mysql_Python 3.x_Mysql Connector Python - Fatal编程技术网

Python 如何不解包查询返回的所有内容?

Python 如何不解包查询返回的所有内容?,python,mysql,python-3.x,mysql-connector-python,Python,Mysql,Python 3.x,Mysql Connector Python,我有以下查询(请注意,这不是一个正常的选择): sql=“显示数据库'sys'所在的过程状态” 此问题返回许多字段,我只需要前两个字段,请参阅完整代码: sql = "SHOW PROCEDURE STATUS WHERE Db <> 'sys' " self.cursor.execute(sql) res = [(Db,Name) for(Db,Name,a,b,c,d,e,f,g,h,j) in self.cursor] sql=“显示数据库'sys'所在的过程状态” sel

我有以下查询(请注意,这不是一个正常的选择):

sql=“显示数据库'sys'所在的过程状态”
此问题返回许多字段,我只需要前两个字段,请参阅完整代码:

sql = "SHOW PROCEDURE STATUS WHERE Db <> 'sys' "
self.cursor.execute(sql)
res = [(Db,Name) for(Db,Name,a,b,c,d,e,f,g,h,j) in self.cursor]
sql=“显示数据库'sys'所在的过程状态”
self.cursor.execute(sql)
res=[(Db,Name)表示self.cursor中的(Db,Name,a,b,c,d,e,f,g,h,j)]
为了避免出错,我需要添加所有我不做任何处理的
a…j
变量。
如何以更简洁的方式书写

我正在使用Mysql/Oracle提供的连接器,请尝试:

res = [(Db,Name) for(Db,Name,*_) in self.cursor]
tuple unpacking中的
*
格式表示“一个“全面”名称,该名称将被分配一个未分配给“常规”名称的所有项目的列表

参考资料:


不要首先将行解压为多个变量。只需将行放入一个变量中,并从中获取所需的内容

[(row[0], row[1]) for row in self.cursor]
甚至可能:

[row[:2] for row in self.cursor]

出于某种原因,它只适用于下划线,*导致语法错误(我在py3.4上)我的错误,似乎问题出在Eclipse解释器中。从命令行运行时,一切正常。
[row[:2] for row in self.cursor]