Как получить размер файла tar.gz в (МБ) в Python - PullRequest
11 голосов
/ 21 мая 2011

Я делаю резервные копии в скрипте Python, но мне нужно получить размер файла tar.gz, созданного в МБ

Как я могу получить размер в МБ этого файла

Ответы [ 3 ]

34 голосов
/ 21 мая 2011

Из вашего вопроса не ясно, хотите ли вы получить сжатый или несжатый размер файла, но в первом случае это легко сделать с помощью функции os.path.getsize из модуля os

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

Чтобы получить ответ в мегабайтах, вы можете сдвинуть ответ вправо на 20, например,

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

Хотя эта операция будет выполняться в целых числах - если вы хотите сохранить доли мегабайта, разделитевместо (1024*1024.0)(Обратите внимание на .0, чтобы делитель был плавающим.)

Обновление: В комментариях ниже Johnsyweb указывает на полезный рецепт для более общего создание удобочитаемых представлений размеров файлов .

2 голосов
/ 21 мая 2011

Используйте функцию os.stat(), чтобы получить структуру статистики.Атрибут st_size этого размера файла в байтах.

0 голосов
/ 21 мая 2011

В соответствии с Python он-лайн документами , вы должны посмотреть на атрибуты size объекта TarInfo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...