1

次のクエリがあります (通常の SELECT ではないことに注意してください)。

sql = "SHOW PROCEDURE STATUS WHERE Db <> 'sys' "

問題これは多くのフィールドを返しますが、最初の 2 つだけが必要です。完全なコードを参照してください。

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]

a...jこれがエラーにならないようにするには、何もしないすべての変数を追加する必要があります。
これをよりきれいに書くにはどうすればよいですか?

Mysql/Oracle が提供するコネクタを使用しています

4

2 に答える 2

1

試す:

res = [(Db,Name) for(Db,Name,*_) in self.cursor]

タプルアンパックの*形式は、「「通常の」名前に割り当てられていないすべてのアイテムのリストが割り当てられる「キャッチオール」名を表します

参考文献:

于 2016-06-23T18:31:33.697 に答える