在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的经验来看,它有很多帮助函数,所以我猜可能有一个内置的。

772882 次浏览
os.path.getsize(path)

返回路径的大小,单位为字节。提高操作系统。如果文件不存在或无法访问,则错误。

使用os.path.getsize(path)

返回路径的大小,以字节为单位。如果文件不存在或无法访问,则抛出OSError

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

或者使用os.stat(path).st_size

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

或使用Path(path).stat().st_size (Python 3.4+)

from pathlib import Path
Path('C:\\Python27\\Lib\\genericpath.py').stat().st_size

您可以使用os.stat(path)调用

http://docs.python.org/library/os.html#os.stat

试一试

os.path.getsize(filename)

它应该返回文件的大小,由os.stat()报告。

你可以使用os.stat()函数,它是系统调用stat()的包装器:

import os


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