Ich verwende ein Modul, das Teil einer kommerziellen Software-API ist. Die gute Nachricht ist, dass es ein Python-Modul gibt - die schlechte Nachricht ist, dass es ziemlich unpythonisch ist.
Um über Zeilen zu iterieren, wird die folgende Syntax verwendet:
cursor = gp.getcursor(table)
row = cursor.next()
while row:
#do something with row
row = cursor.next()
Was ist die pythonischste Art, mit dieser Situation umzugehen? Ich habe in Erwägung gezogen, eine Funktion/Generator erster Klasse zu erstellen und Aufrufe einer for-Schleife darin einzuschließen:
def cursor_iterator(cursor):
row = cursor.next()
while row:
yield row
row = cursor.next()
[...]
cursor = gp.getcursor(table)
for row in cursor_iterator(cursor):
# do something with row
Das ist zwar eine Verbesserung, wirkt aber ein wenig unbeholfen. Gibt es eine mehr pythonic Ansatz? Sollte ich eine Wrapper-Klasse um die table
Typ?