如何在python中获取(MB)文件中tar.gz的大小

时间:2011-05-21 08:10:12

标签: python linux file-io

我在python脚本中进行备份,但我需要获取以MB创建的tar.gz文件的大小

如何获得该文件的MB大小

4 个答案:

答案 0 :(得分:32)

从您的问题中不清楚您是想要压缩文件还是未压缩文件的大小,但在前一种情况下,使用os.path.getsize函数from the os module

很容易
>>> import os
>>> os.path.getsize('flickrapi-1.2.tar.gz')
35382L

要以兆字节为单位获得答案,您可以将答案右移20,例如

os.path.getsize('large.tar.gz') >> 20

虽然该操作将以整数完成 - 如果要保留一兆字节的分数,请改为(1024*1024.0)。 (注意.0,以便除数成为浮点数。)

更新:在下面的评论中,Johnsyweb指出了更为常见的producing human readable representations of file sizes的有用配方。

答案 1 :(得分:2)

使用os.stat()功能获取统计结构。 st_size属性是文件的大小(以字节为单位)。

答案 2 :(得分:0)

根据Python on-line docs,您应该查看size对象的TarInfo属性。

答案 3 :(得分:0)

您可以使用以下命令直接获取它,而无需任何淡褐色

os.path.getsize('filename.tar') >> 20
print str(filename.tgz) + " MB"