Ich versuche sicherzustellen, dass ein Objekt ein String-Typ in Python (für Google App-Engine) ist. Ich mache das, damit ich es in einen db.Text
Typ ändern kann, wenn es mehr als 500 Bytes ist. Ich bekomme jedoch weiterhin den Fehler: TypeError 'unicode' object is not callable
Was soll ich verwenden, um zu testen, ob der Typ des Objekts eine Zeichenkette ist?
Warum rufst du types.StringTypes
an? Es ist ein Tupel:
Verwenden Sie isinstance(value, types.StringTypes) and len(value) > 499
Ich denke, Sie müssen nur die Klammern aus types.StringTypes
entfernen, da es ein Tupel ist (und nicht aufrufbar, daher der Fehler). Entweder das, oder Ihr Code verwendet tatsächlich StringType
, was bedeutet, dass Ihr Code eine neue String-Instanz erstellt, anstatt den str
-Typ zurückzugeben. Wie auch immer, es sieht wie ein Tippfehler aus. Weitere Informationen finden Sie in den Dokumenten .
Bearbeiten: Hoppla! Ich habe types.StringType anstelle von types.StringTypes , der Test könnte also lauten:
%Vor%Wo das Hauptproblem mit dem OP-Code das Vorhandensein der Parens am Ende von types.StringTypes war.
Original: Einige Probleme hier:
So könnte Ihr Test etwa wie folgt aussehen:
%Vor%Tags und Links python google-app-engine types