簡體   English   中英

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

[英]How to get the size of tar.gz in (MB) file in python

我正在使用 python 腳本進行備份,但我需要獲取以 MB 為單位創建的 tar.gz 文件的大小

如何獲取該文件的 MB 大小

從您的問題中不清楚您想要文件的壓縮大小還是未壓縮大小,但在前一種情況下,使用os 模塊中os.path.getsize函數很容易

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

要獲得以兆字節為單位的答案,您可以將答案右移 20,例如

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

盡管該操作將以整數形式完成 - 如果您想保留兆字節的小數部分,請改為除以(1024*1024.0) (注意.0以便除數是一個浮點數。)

更新:在下面的評論中, Johnsyweb指出了一個有用的方法,可以更普遍地生成人類可讀的文件大小表示

使用os.stat()函數獲取 stat 結構。 st_size屬性是文件的大小(以字節為單位)。

根據 Python在線文檔,您應該查看TarInfo對象的size屬性。

您可以使用以下命令直接獲取它,無需任何榛子

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

為了獲得以 MB 為單位的文件大小,我創建了這個函數:

import os

def get_size(path):
    size = os.path.getsize(path)
    if size < 1024:
        return f"{size} bytes"
    elif size < 1024*1024:
        return f"{round(size/1024, 2)} KB"
    elif size < 1024*1024*1024:
        return f"{round(size/(1024*1024), 2)} MB"
    elif size < 1024*1024*1024*1024:
        return f"{round(size/(1024*1024*1024), 2)} GB"
  
    >>>get_size("k.tar.gz")
    1.4MB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM