Получение размера файла в Python?

Есть ли встроенная функция для получения размера файлового объекта в байтах? Я вижу, что некоторые люди делают что-то вроде этого:

def getSize(fileobject):
    fileobject.seek(0,2) # move the cursor to the end of the file
    size = fileobject.tell()
    return size

file = open('myfile.bin', 'rb')
print getSize(file)

Но из моего опыта работы с Python у него много вспомогательных функций, поэтому я предполагаю, что есть один встроенный.

Ответ 1

Попробуйте взглянуть на http://docs.python.org/library/os.path.html#os.path.getsize

os.path.getsize(path) Возвращает размер, в байтах, пути. Поднимите os.error, если файл не существует или недоступны.

import os
os.path.getsize('C:\\Python27\\Lib\\genericpath.py')

ИЛИ

os.stat('C:\\Python27\\Lib\\genericpath.py').st_size 

Ответ 2

os.path.getsize(path)

Возвращает размер, в байтах, пути. Поднять os.error, если файл не существует или недоступен.

Ответ 3

Вы можете использовать os.stat(), который является оболочкой системного вызова stat():

import os

def getSize(filename):
    st = os.stat(filename)
    return st.st_size

Ответ 4

Попробуйте

os.path.getsize(filename)

Он должен вернуть размер файла, о котором сообщает os.stat().