2010/4/1 Antonio Fernandez Porrua <a.por...@gmail.com>: > Hola, tenía que convertir un long a un string, para ello iba a utilizar una > función de pycrypto > el meollo del asunto lo hace el siguiente código > s = '' > n = long(n) > pack = struct.pack > while n > 0: > s = pack('>I', n & 0xffffffffL) + s > n = n >> 32 > y he visto que suman strings, yo tenía entendido que los strings son > inmutables, y que para añadir caracteres a un string hay que volver a > asignar memoria y volver a copiarlo entero.
Así es cómo funcionan otros lenguajes de paradigmas anteriores (C, C++, ...) . Pero, como Py es algo del futuro (muy modestamente hablando :P) , existe un garbage collector y no hay que preocuparse (tanto) por asignar memoria explícitamente (y esto en sí es una debilidad que hace que no se pueda utilizar el intérprete para e.g. sistemas en tiempo real ) . ;o) > Probé a hacer lo mismo con cStringIO.StringIO > r=cStringIO.StringIO() > [...] > > ¿Alguién sabe a que se debe esto? > ¿cúando se deben usar strings y cuando StringIO? `StringIO` es un adapter (wrapper) para hacer compatibles las cadenas de caracteres y los ficheros (e.g. redireccionar stdout, ...) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: Tutorial: Cómo crear enlaces directos en Windows con Python - http://feedproxy.google.com/~r/simelo-es/~3/lF373i_fqYs/tutorial-como-crear-enlaces-directos-en.html _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/