cPickle und **kwargs?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

hi!
bei mir führen wieder ganz einfache gfedankenfehler zum error:

Code: Alles auswählen

 lass cursor:
    def execute(self, sql, *args):      UDPSocksend.sendto(cPickle.dumps(['execute',sid,'sql',arguments=args]),addr)
nun akzeptiert er das gleichheitszeichen nicht!
in anderen fällen geht es, habe es extra noch einmal in dem live-interpreter ausprobiert, das geht so wie oben geschrieben, oder ist da in meinem gedankengang eine lücke, die ich nicht seheh kann?[/code]
http://www.cs.unm.edu/~dlchao/flake/doom/
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Willst du einfach die Parameter weitergeben?

Dann kannst du *args schreiben:

Code: Alles auswählen

class cursor:
    def execute(self, sql, *args):
        UDPSocksend.sendto(cPickle.dumps(['execute', sid, 'sql', *args]), addr)
Gruss
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

ich will die parameter übergeben, die ich für diese funktion erhalten habe.
http://www.cs.unm.edu/~dlchao/flake/doom/
BlackJack

Wenn das `execute()` dem von der DB API ähneln soll, dann musst Du in beiden Fällen das ``*`` vor `args` weglassen.
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

das ganze ist nicht einfach zu erklären, muss es auch nicht mehr,
habe mich davon entfernt und den teil des codes umgeschrieben, übergebe
die socketdaten an den cursor. nur vorher arbeite ich halt mit der sessionid,
um an den richtigen cursor zu kommen :-)
so bin ich auch fast komplett API-conform, nur conn.close() etc muss ich noch einbauen!
http://www.cs.unm.edu/~dlchao/flake/doom/
Antworten