Ich sende und erhalte verschiedene Objekte über das Netzwerk. In meiner Anwendung kann der Server eine Beize oder einen String erhalten. Gibt es eine Möglichkeit zu wissen, ob die Daten, die ich bekommen habe, die Gurke oder eine Schnur sind?Pickle in Python, wie überprüft man, ob die Variable eine Zeichenfolge oder eine Gurke ist?
Ich habe versucht:
class C:
pass
if __name__ == "__main__":
c = C()
data = pickle.dumps(c)
key = 'cryptokey'
print isinstance(data, basestring)
print isinstance(key, basestring)
print type(data)
print type(key)
Aber der Ausgang ist nicht hilfreich, es zeigt:
True
True
<type 'str'>
<type 'str'>
So scheint es, es die Gurke und die Zeichenfolge gleich behandelt. Irgendwelche Ideen?
Eine Beize ist ein Bündel von Binärdaten als Zeichenfolge. –
Ändern Sie Ihr Datenformat, um weniger mehrdeutig zu sein. – user2357112
Pickle beginnt mit einem bestimmten Protokoll und Versionstag. Aber viel sinnvoller - notieren Sie Ihre Daten, damit der Empfänger weiß, ob sie eine Essiggurke, eine Schnur oder eine Gurke erhielten. – pvg