RE: Tamaño de un objeto en python
Carlos Porter
cporter1email en yahoo.es
Vie Jun 17 08:25:31 CEST 2005
--- Hernán Martínez Foffani <hernan en orgmf.com.ar>
escribió:
> > Mi duda es si se puede implementar o existe en
> python
> > una función que reciba un objeto y retorne el
> tamaño
> > de dicho objeto en bytes (como sizeof en c++) ?
>
> No, no existe tal cosa.
Puedes ver que si existe tal cosa en C++
http://www.mi.uni-koeln.de/c/mirror/www.codeguru.com/cpp/tic/tic_html.zip/tic0055.html
>
> > Pregunto esto por que al leer sobre funciones de
> > entrada/salida desde archivos en python ,se me
> ocurrio
> > crear un modulo para el acceso aleatorio a los
> > registros de un archivo (en teoría un registro por
> > linea, aunque si conosco el tamaño de cada objeto
> > registro esto no importaría mucho) utilizando el
> > metodo seek() de un objeto archivo
>
> No entiendo la relación entre el seek y el tamaño de
> los objetos de python. ¿Puedes precisar exactamente
> qué
> contiene el archivo?
>
> -H.
El asunto es que conociendo el tamaño de un objeto X
(que digamos pesa 2 bytes) que esta almacenado dentro
de un archivo junto con otros objetos identicos (aquí
puede que haya entendido mal como se trabajo el acceso
a un archivo) entonces puedo acceder al enésimo objeto
de un archivo de la siguiente forma
f = open('binary.dat')
#tamaño del objeto
objtam = 2
# acceder al vigesimo objeto dentro del archivo
f.seek( 20 * objtam, 0)
# recupere unicamente el registro accesado
reg = f.read(objtam)
Por cierto, que planteo la pregunta, por que durante
mi curso de estructuras de datos en C++ hicimos algo
muy parecido, y quise saber si en python se podia
hacer lo mismo.
______________________________________________
Renovamos el Correo Yahoo!
Nuevos servicios, más seguridad
http://correo.yahoo.es
Más información sobre la lista de distribución Python-es