que estoy haciendo copias de seguridad de script en Python, pero necesito para obtener el tamaño del archivo tar.gz creado en MBcómo obtener el tamaño del archivo tar.gz en (MB) en python
¿Cómo puedo obtener el tamaño en MB de ese archivo
que estoy haciendo copias de seguridad de script en Python, pero necesito para obtener el tamaño del archivo tar.gz creado en MBcómo obtener el tamaño del archivo tar.gz en (MB) en python
¿Cómo puedo obtener el tamaño en MB de ese archivo
No es claro por su pregunta si desea el tamaño comprimido o sin comprimir del archivo, pero en el primer caso, es fácil con la función os.path.getsize
from the os module
>>> import os
>>> os.path.getsize('flickrapi-1.2.tar.gz')
35382L
Para obtener la respuesta en megabytes que puede cambiar la respuesta a la derecha por 20, por ejemplo
os.path.getsize('large.tar.gz') >> 20
A pesar de que la operación se hará en números enteros - si desea conservar las fracciones de un megabyte, se divide por (1024*1024.0)
lugar. (Nota del .0
de manera que el divisor será un flotador.)
Actualización: En los comentarios a continuación, Johnsyweb señala una receta útil para más generalmente producing human readable representations of file sizes.
significa que tengo que dividir por 1024 * 1024 para hacerlo en MB – Mahakaal
Sí, así es. –
Vea también esta receta [para obtener una representación legible por humanos de una cantidad de bytes] (http://code.activestate.com/recipes/577081-humanized-representation-of-a-number-of-bytes/). – Johnsyweb
Utilice la función os.stat()
para obtener una estructura estadística. El atributo st_size
de eso es el tamaño del archivo en bytes.
(+1) Parece mucho mejor que mi idea (Inicialmente pensé que OP también quiere evaluar lo que está en el archivo tar). – chl
Según Python on-line docs, debe consultar los atributos size
de un objeto TarInfo
.
funcionará para tar.gz también o solo para tar – Mahakaal
@Mahakaal Funciona también con el archivo '* .tar' (simplemente léalo con la bandera' r' y no 'r: gz' pasado a' tarfile.open '). Sin embargo, da el tamaño de cada elemento incluido en el archivo tar (fácil de resumir, sin embargo), por lo que tal vez una de las respuestas alternativas se ajuste mejor a sus necesidades. – chl
¿Desea el tamaño del archivo descomprimido que está dentro del archivo o simplemente desea el tamaño del archivo? – plaes
solo el tamaño del archivo en sí – Mahakaal
Vea también: [Biblioteca reutilizable para obtener una versión legible del tamaño del archivo]] (http://stackoverflow.com/a/1094933/562769) –