I have been chasing a problem in my code since hours and it bolis down to this import marshal marshal.dumps(str(123)) != marshal.dumps(str("123")) Can someone please tell me why? when str(123) == str("123") or are they different? it also means that if s = str(123) marshal.dumps(s) != marshal.dumps(marshal.loads(marshal.dumps(s))) rgds Anurag